みなさんはどのようにPythonのプログラミング学習をしていますか?
- Pythonの練習プログラムを解きたい
- Pythonプログラムを練習できる学習サイトが知りたい
このような要望があると思います。
そのような方に向けて、この記事では以下のように実際のPythonプログラムや学習サイトを掲載しました。
- Pythonの練習プログラム
- Pythonプログラムを練習できる学習サイト
Pythonプログラムをたくさん練習できる学習サイトも掲載したので、ぜひ参考にしてくださいね!
- Pythonの学習・練習には「侍テラコヤ」がおすすめ
- Pythonを本格的に学ぶなら有料サービスもおすすめ
- Pythonの習得には文法への理解が欠かせない
本記事の解説内容に関する補足事項
本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。
また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に、提供コースは「教育訓練給付制度の指定講座」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。
記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。
当ブログがオススメする
無料プログラミング学習サイト3選
1位:侍テラコヤ | 2位:Progate | 3位:ドットインストール | |
---|---|---|---|
サイト名 | |||
学べる内容 | HTML/CSS、JavaScript、jQuery、Bootstrap、PHP、Laravel、Ruby、Ruby on Rails、Python、Java、WordPress、Cloud9、Git、AWS 、ChatGPT、Webデザインなど | HTML/CSS、JavaScript、PHP、Ruby、Python、Java、Go、Git、SQL など | HTML/CSS、JavaScript、Ruby、Python、Java、C言語 など |
質問 相談サポート | |||
練習問題の数 | |||
特徴 | 現役エンジニアとのマンツーマンレッスン 回答率100%のQ&A掲示板が使い放題 実践的なスキルを身につけられる課題機能 | 環境構築をしなくても学べる イラスト付きのスライド式教材 スマホアプリでも学べて手軽 | レッスン動画でインプット可能 3分の簡単な動画で手軽に学べる 有料プランなら質問ができる |
詳細 | 公式サイト | 公式サイト | 公式サイト |
Pythonで実践的な練習プログラムを書いてみよう
それでは、Pythonを使用して基本から実践的なプログラムが書けるように学習していきましょう!
変数を扱ってみよう
基本的なことではあるのですが、Pythonではどのように変数を扱うことができるのか確認しておきましょう!
Pythonで一番基本となる変数の代入方法を確認します!
# xに数値10を代入する x = 10 print(x) # xに文字列Helloを代入する y = "Hello" print(y)
実行結果
10 Hello
変数や代入方法について基礎からより詳しく確認したいという方はこちら参照して下さい!
それでは基本を抑えたところで練習問題を解いてみましょう!
変数messageに文字列Hello Samuraiを代入して、それを出力するプログラムを書いて下さい。
うまくできたでしょうか?回答例はこちらになります。
# messageに文字列Hello Samuraiを代入する message = "Hello Samurai" print(message)
実行結果
Hello Samurai
リストを扱ってみよう
次はPythonでプログラミングをする上では必須になってくるリストの扱い方を確認しておきましょう!
リストは複数のデータをプログラミングで扱う時に役立ちます。例えば、好きなフルーツをfavorite_fruitにリストとして複数代入することができます。
favorite_fruit = ['apple', 'orange', 'banaan'] print(favorite_fruit) # リストの1つめ print(favorite_fruit[0]) # リストの2つめ print(favorite_fruit[1]) # リストの3つめ print(favorite_fruit[2])
実行結果
['apple', 'orange', 'banaan'] apple orange banaan
リストの扱い方をより詳しく確認したい方はこちらに詳しく掲載されています。
リストに関しても練習問題を解いてみましょう!
好きな動物のリストにdog, cat, elephant, lionを定義して、リストの一番最後の動物を出力するプログラムを書いて下さい。
回答例はこちらになります。
favorite_animals = ['dog', 'cat', 'elephant', 'lion'] # 最後の動物を出力 print(favorite_animals[-1])
実行結果
lion
if文を扱ってみよう
if文も実践的なプログラムを扱えるようにするためには欠かせません。
if文の基本となる練習プログラムを掲載します。
appleの価格が200円以下なら割引価格ですと表示されて、そうでなければ通常価格と表示されます。
apple_price = 150 if apple_price < 200: print("割引価格です。") else: print("通常価格です。")
実行結果
割引価格です。
if文とはから実践的な使い方まで学びたい方はこちらに紹介されていますので参照してください!
if文の応用としてor・and・not演算子と組み合わせた方法が紹介されていますので是非見てみてください!
ifの練習問題はこちらはこちらです!
input関数で対話的に0〜24で時間を入力し、
- 0〜10のときは、おはよう
- 11〜18のときは、こんにちわ
- 19〜24のときは、こんばんわ
と出力するプログラムを書いて下さい。
回答例はこちらになります。
if_practice.py
time = int(input("何時ですか?(0〜24): ")) if time <= 10: print("おはよう") elif time <= 18: print("こんにちわ") else: print("こんばんわ")
実行結果
$ python if_practice.py 何時ですか?(0〜24): 9 おはよう $ python if_practice.py 何時ですか?(0〜24): 15 こんにちわ $ python if_practice.py 何時ですか?(0〜24): 20 こんばんわ
for文を扱ってみよう
for文はより実践的で、複数の値や大量のデータを処理する場合は必須です。
for文の基本となる練習プログラムを掲載しましたので、参考にして下さい。
例えば、誰かから貰ったフルーツをgiven_fruitへリストとして代入します。
これをfor文で順番に自分のお気に入りのフルーツであるか判定しています!
given_fruit = ['watermelon', 'apple', 'peach'] favorite_fruit = ['apple', 'orange', 'banaan'] for fruit in given_fruit: if fruit in favorite_fruit: print(fruit + "はお気に入りのフルーツです。") else: print(fruit + "はお気に入りのフルーツではありません。")
実行結果
watermelonはお気に入りのフルーツではありません。 appleはお気に入りのフルーツです。 peachはお気に入りのフルーツではありません。
for文が少し難しいと感じた方はこちらのfor文の使い方総まとめを参照してください!
forの練習問題ではFizzBuzz問題を解いてみましょう!
1から20までの数の中で
- 3の倍数のときは、「3の倍数です。」
- 5の倍数のときは、「5の倍数です。」
- 3と5の両方の倍数のときは、「3と5の両方の倍数です。」
と出力するプログラムを書いて下さい。
回答例はこちらの倍数を見つけるプログラムを書いてみよう!に掲載されていますので、うまくできたか確認してみてください。
Pythonの練習で押さえるべき基礎
Pythonを習得するには、基本的な文法やデータ型、変数の扱い方から理解する必要があります。また、制御構文の理解もプログラミングを行う上で欠かせません。
ここでは、それぞれの要素について詳しく解説していきます。
それぞれ詳しく解説していきます。
Pythonの基本文法
Pythonの基本文法は、そのシンプルさが最大の特徴です。他のプログラミング言語と異なり、波括弧やセミコロンを使用しないため、コードの可読性が高くなります。
その代わりに、インデントを使用してブロックを表現します。インデントが誤っていると、エラーが発生するため、正確なインデントが非常に重要です。
また、Pythonは「Python Enhancement Proposal(PEP)」という公式のスタイルガイドを持っており、これに従うことでコードが一貫性を持てます。基本的な文法の中には、関数の定義やループ、条件分岐などが含まれ、これらをしっかり理解することが必要です。
Pythonはそのシンプルさと読みやすさが特徴で、初心者でも短期間で習得しやすい言語です。
データ型と変数
Pythonのデータ型は多岐にわたりますが、最も基本的なものとして整数(int)、浮動小数点数(float)、文字列(str)、ブール値(bool)などがあります。それに加え、複数の値をまとめて扱うリストやタプル、辞書(dict)もよく使用されるデータ型です。
Pythonの特徴として、変数にデータ型を明示する必要がなく、動的に型が決まります。これにより、コードが簡潔になる一方、誤った型の操作が原因でエラーを引き起こすこともあるため、データ型の扱いに注意が必要です。
たとえば、整数と文字列をそのまま結合することはできないため、型の変換が必要です。また、変数のスコープや命名規則を理解することで、より効率的にコードを管理できます。
Pythonでは多様なデータ型を使いこなすことで、より柔軟なプログラムを書くことが可能です。
制御構文の理解
制御構文は、プログラムの流れを制御するための重要な要素です。
Pythonの制御構文には、主に条件分岐(if文)、ループ(for文、while文)、例外処理(try-except文)があります。これらを効果的に使いこなすことで、複雑な動作を実現するプログラムの作成が可能です。
たとえば、if文を使って条件に応じた異なる処理を行い、for文やwhile文で繰り返し処理を実行できます。また、例外処理を適切に使うことで、エラーが発生した場合でもプログラムが中断せず、正しくエラーメッセージを表示して続行させられます。
これらの制御構文は、初歩的な使い方から高度なテクニックまで幅広く活用されるため、しっかり理解しておくことが大切です。制御構文を使いこなすことで、プログラムに柔軟性とエラー処理能力を持たせられます。
Pythonを効率的に練習する3つの方法
Pythonの練習を効率よく進めるためには、計画的に練習内容を選ぶことが重要です。コーディングチャレンジサイトの活用や、実際に小さなプロジェクトを作ることが有効です。
また、毎日少しずつコーディングする習慣をつけることで、スキルを継続的に伸ばせます。
それぞれ詳しく解説していきます。
コーディングチャレンジサイトを活用
コーディングチャレンジサイトは、プログラミングスキルを磨くための絶好の場です。
LeetCodeやHackerRank、AtCoderなど、多くのプラットフォームでPythonの練習問題が提供されています。これらのサイトでは、基礎的なアルゴリズムから応用的な問題まで、幅広いレベルの問題に挑戦可能です。
問題を解くことで、コードの書き方だけでなく、問題解決能力や効率的なアルゴリズムの実装方法も学べます。さらに、他のユーザーが提出したコードを参考にすることで、異なる視点やより効率的な解決方法を見つけられるのも大きなメリットです。
コーディングチャレンジサイトを活用することで、体系的にスキルを向上させられます。
小さなプロジェクトを作る
コーディングスキルを磨くには、実際に自分でプロジェクトを作ることが非常に効果的です。
小さなプロジェクトを作ることで、実際の開発に必要なスキルや流れを学べます。最初は、電卓アプリやToDoリスト、シンプルなウェブアプリケーションなど、比較的簡単なものから始めると良いでしょう。
これらのプロジェクトでは、変数や関数、クラスを組み合わせて、プログラムを設計し、実装する方法を学ぶことが可能です。
また、実際に動作するものを作ることで、達成感が得られ、モチベーションの維持にもつながります。プロジェクトを通じて、実際のアプリケーション開発の流れを経験できるため、実践的なスキルが身に付きます。
小さなプロジェクトを作ることは、学んだ知識を実践に活かし、スキルを定着させるために有効です。
毎日短時間でもコーディングする習慣
プログラミングスキルを効率的に向上させるためには、毎日少しずつでも継続的にコーディングを行う習慣が重要です。
短時間でも毎日コーディングすることで、知識の定着とスキルの向上が期待できます。「1日30分でもいいから毎日続ける」というルールを設けると、無理なく続けられるでしょう。
また、日々の進捗を記録することで、自分がどれだけ成長しているかを振り返ることができ、モチベーション維持にも役立ちます。
忙しい日でも、短時間で取り組める簡単な課題を解いたり、過去に解いた問題を再度復習することが効果的です。毎日コーディングを続ける習慣は、スキルを確実に向上させるための鍵です。
Pythonのプログラムを練習できる学習サイト
こちらではPythonのプログラムを練習できるオススメの学習サイトを紹介します。
無料コンテンツと有料コンテンツをそれぞれご紹介しますので、用途に合わせてPythonのプログラムを練習していきましょう!
無料コンテンツ
無料で学べる学習コンテンツは、すぐに学習が進められるので本当にありがたいですよね。
とりあえずPythonを触ってみようかな?という方や、他言語の経験者でざっくり使い方が知りたいという方は無料でもとても良いコンテンツがありますのでまずは無料のコンテンツから挑戦してみることをオススメします。
無料で始めるなら侍テラコヤがおすすめ
登録無料で100種類以上の教材が学べる侍テラコヤは、
- 回答率100%のQ&A掲示板
- 必要に応じて受けられるオンラインレッスン
といったサポート体制を整えているため、学習中に出てきた不明点を解決しながらスキルの習得が可能です。また「学習ログ」で勉強の進み具合やこれまでの学習時間を確認しながら、自分のペースで学習を進められます。
なお、侍テラコヤは入会金不要・いつでも退会OKに加え、「無料会員登録」でお試し利用ができるので「他のサービスを選べばよかった」と後悔する心配もありません。
コスパよく効率的にスキルを習得したい方は、ぜひ侍テラコヤをお試しください。
運営会社 | 株式会社SAMURAI |
実績 | ・業界最安値0円から ・累計登録者1万8,000名以上 ・講師満足度95% |
受講形式 | オンライン ・テキスト/動画視聴 ・マンツーマンレッスン |
習得できるスキル | HTML、CSS、PHP(Laravel)、Ruby(Ruby on Rails)、Python、Java、JavaScript (jQuery) 、AWS、Linux、ITパスポート、Webデザイン、WordPressなど |
担当講師 | 現役エンジニア/Webデザイナー |
対応時間 | 全日24時間 ※営業時間(10時~22時)外の質問は翌営業日に回答 |
サポート内容 | ・無料でのお試し利用可能 ・100種類以上の教材閲覧 ・回答率100%のQ&A掲示板 ・現役エンジニアとのマンツーマンレッスン(回数制) ・就職/転職サポート(20~31歳の利用者に限る) |
アクセス | 完全オンライン |
備考 | ※全プランの共通事項 ・入学金:無料 ・利用継続:最短1ヶ月から利用可能 ・全額返金保証制度あり ・1レッスン時間60分 |
その他の無料コンテンツについては別途詳しくまとめてありますので、どうぞこちらを参照してください!
きっとお気に入りのコンテンツが見つかるかと思います。
有料コンテンツ
有料コンテンツは、Pythonをより体系的に学びたい方や、より高度な内容を学びたい方にはオススメです。
こちらにオススメのコンテンツを紹介しますので参考にしてください!
PyQ
まず僕がオススメしたいのはコレ!ProgateをPythonに特化させた感じと言えばわかりやすいでしょうか。
Pythonの初心者からでも基礎から体系的に学習することができます。また色々なコンテンツがあり、進めていくとかなり難易度も高く実践的な内容まで学ぶことができるのでPythonを使って就職したい方は是非試してみることをオススメします。
Udemy
こちらは動画で学習を進めることができるので、文章だけでは理解しきれないという人も大丈夫です。
またコース別に色々な動画を受講することができるので、自分にあったレベルの動画を選択することもできます。今流行りの機械学習やディープラーニングを学べるコンテンツもとても豊富なので、興味ある方は是非チャレンジしてみる良いです。動画なので難しい内容でもとてもわかりやすいです。
本・参考書で学習する
学習をはじめて、ある程度Pythonの基礎を理解した人にこの本・参考書での学習はおすすめです。
いきなり本・参考書で学習をはじめてしまうと、その内容を見てその時点でやる気が無くなります。本は基本読みながら学習を進めていくので、意味のわからない言葉や内容が並んでいる本を見ても、学習意欲は湧きません。
なので、初心者の場合は学習サイトでアウトプットして手を動かしながら学習を進めることがおすすめです。
本・書籍のいいところは、自分のほしい情報をすぐ探せるところです。目次やキーワード検索などですぐに探したい場所が見つかります。ある程度、Pythonを理解している人なら本・参考書の内容を見ても理解できます。
Python練習問題でスキルアップするコツ
Pythonのスキルを効果的に上達させるためには、練習問題に取り組む際にいくつかのポイントを押さえることが大切です。基礎的な問題から始め、解いた問題はコードレビューを行い、解けなかった問題は復習を欠かさないことが重要です。
ここからは次の項目で、それぞれのポイントを詳しく説明します。
それぞれ詳しく解説していきます。
まずは基礎的な問題から始める
Pythonの練習を始める際には、いきなり難しい問題に挑戦するのではなく、基礎的な問題から取り組むことが推奨されます。
基本的なデータ型や制御構文、関数の使い方を習得するためには、初級レベルの問題が最適です。最初から高度なアルゴリズムや複雑なデータ構造を使った問題に取り組むと、理解が追いつかず、挫折することが多くなります。
基礎的な問題を解くことで、Pythonの文法や標準ライブラリの使い方に慣れることができ、スムーズに次のステップへ進むことが可能です。また、基礎を固めることで、後に複雑な問題に直面した際でも、基本に立ち返ることで解決のヒントが得られやすくなります。
まずは基礎的な問題に取り組み、Pythonの基本的な操作に慣れることがスキルアップへの第一歩です。
問題解決後のコードレビューで成長
問題を解いた後に、自分のコードを見直す「コードレビュー」を行うことは、スキルアップのために非常に効果的です。
コードレビューでは、自分の書いたコードが正確で効率的であるかを確認し、改善点を見つけ出すという側面もあります。他のプログラマーのコードを参考にして、よりシンプルで効率的な書き方を学ぶことも重要です。
たとえば、同じ問題に対して異なるアプローチで解いたコードを比較することで、新たな視点を得られます。また、Pythonではリスト内包表記やラムダ関数といった効率的な記述方法があり、これらを活用することでコードの可読性やパフォーマンスを向上させることが可能です。
コードレビューを通じて、自分の弱点や改善点を明確にし、次に活かせます。
解けなかった問題の復習を忘れない
解けなかった問題に対して、再度取り組むことはスキルアップのために欠かせません。
問題が解けなかった理由をしっかりと分析し、どこでつまずいたのか、どの部分を理解していなかったのかを振り返ることが大切です。問題を解けなかったことに対して落ち込むのではなく、学習のチャンスと捉え、次に同じような問題に遭遇した際に解決できるよう準備をしましょう。
解けなかった問題を再度解き直すことで、理解が深まり、同じミスを繰り返さないようになります。また、解説や他の人の解答を参考にすることで、別の解決方法やアプローチを学ぶこともできます。
解けなかった問題を放置せず、しっかり復習することがスキルアップには欠かせません。解けなかった問題を復習することで、弱点を克服し、確実にスキルを向上させられます。
独学でPython練習プログラムに臨む際の注意点
独学でPythonを学ぶ際には、モチベーションの維持や学習計画の立て方、疑問点をそのままにしないことが重要です。特に独学は、自分のペースで進められる反面、進捗管理が難しいため、自己管理が求められます。
ここでは、独学の際に押さえておくべき注意点を解説します。
それぞれ詳しく解説していきます。
モチベーションを維持するコツ
独学でPythonを学習する際に、長期間モチベーションを維持することは難しいことがあります。特に難しい問題や新しい概念に直面したとき、挫折しがちです。
モチベーションを保つためには、目標を小さく設定し、達成感を感じることが重要です。例えば、毎日30分だけでもコーディングを続ける、1週間で1つの小さなプログラムを完成させる、といった具体的な目標を立てると良いでしょう。
また、成長を実感できるように、解いた問題や学んだことを記録する習慣をつけることも有効です。Pythonコミュニティに参加したり、SNSで学習記録をシェアすることで、他の学習者と交流し、励まし合うこともモチベーション維持に役立ちます。
モチベーションを保つためには、小さな目標を立て、進捗を記録し、成功体験を積み重ねることが大切です。
学習計画を立てる重要性
Pythonを独学する際には、しっかりとした学習計画を立てることが成功の鍵です。計画を立てずに学習を進めると、どの段階でどの内容を学ぶべきかが曖昧になり、効率が悪くなります。
学習計画では、目標を明確にし、それに基づいて日々の学習内容を決めます。例えば、最初の1ヶ月は基本文法とデータ型を学び、次の月にアルゴリズムやデータ構造に進む、といった具体的なステップを設定すると良いでしょう。
また、定期的に計画を見直し、自分の進捗に合わせて内容を調整することも重要です。計画があることで、モチベーションを維持しやすくなり、スムーズに学習を進められます。
学習計画を立てることで、効率的にPythonの学習を進め、目標を達成しやすくなります。
疑問点をそのままにしない
Pythonを独学で学ぶ際に、疑問点を放置することは避けるべきです。
プログラミングは積み重ねの学問であるため、一つの疑問点が後々大きな問題になることがあります。疑問が生じた場合は、すぐに解決することが大切です。
インターネット上には、Pythonに関する豊富な情報やコミュニティがあり、質問できる場が多数存在します。Stack OverflowやQiita、Redditなどのプラットフォームを活用して、他の学習者やプロフェッショナルに質問することも有効です。また、公式ドキュメントを参照することで、Pythonの仕様について正確な情報を得られます。
疑問点をそのままにせず、早期に解決することで、効率的な学習が進められます。
まとめ
いかがでしたでしょうか。
今回は、Pythonの練習プログラムやPythonの学習コンテンツを見てきました!
Pythonは初心者にも取り組みやすい言語ですが、データ分析や機械学習なども学ぼうとするとても覚えることが多いです。
うまく有料コンテンツなども活用してPythonの練習や経験を多く積むことで、Pythonをマスターしていきましょう!
なお、当ブログでも以下の記事にPython初学者のための内容をまとめています(Pythonでできることや、学習法など)。
もちろん無料で読めますので、ぜひ合わせて目を通してみてくださいね。
【Python入門完全攻略ガイド】
この記事の監修者
フルスタックエンジニア
音楽大学卒業後、15年間中高一貫進学校の音楽教師として勤務。40才のときからIT、WEB系の企業に勤務。livedoor(スーパーバイザー)、楽天株式会社(ディレクター)、アスキーソリューションズ(PM)などを経験。50歳の時より、専門学校でWEB・デザイン系の学科長として勤務の傍ら、副業としてフリーランス活動を開始。 2016年、株式会社SAMURAIのインストラクターを始め、その後フリーランスコースを創設。現在までに100名以上の指導を行い、未経験から活躍できるエンジニアを輩出している。また、フリーランスのノウハウを伝えるセミナーにも多数、登壇している。