原文: 25 Python Projects for Beginners – Easy Ideas to Get Started Coding Python

新しい言語を学ぶ最も良い方法は、その言語を使ったプロジェクトを作ることです。

私は、25 の初心者向け Python プロジェクトチュートリアルのリストを作成しました。

これらのチュートリアルに取り組む初心者に向けての私からのアドバイスは、動画を視聴しながら、プロジェクトを作り、分解し、自らの手でもう一度作り上げることです。チュートリアルにない新しい機能の追加や違うメソッドを使うといった実験に取り組むこともおすすめです。

この経験を通して、チュートリアルから得られるコンセプトを本当に学んだかどうかをテストできるのです。

以下のリストからプロジェクト名をクリックすると、この記事の各項目へ飛ぶことができます。

もしも、Python の基礎をしっかり固めたいならば、freeCodeCamp の初心者向けの Python チュートリアルを視聴することをおすすめします。(編集注: 日本語版はこちら)

作成可能な Python プロジェクト

  1. Mad Libs (マッドリブス)
  2. 数あてゲーム (コンピューター側の数)
  3. 数あてゲーム (ユーザー側の数)
  4. じゃんけん
  5. ハングマン
  6. カウントダウンタイマー
  7. パスワード生成システム
  8. QR コードのエンコード/デコード
  9. ○×ゲーム
  10. AI ○×ゲーム
  11. 二分探索アルゴリズム
  12. マインスイーパー
  13. 数独解決
  14. 画像加工
  15. マルコフ連鎖テキスト作成
  16. ピンポンゲーム
  17. スネークゲーム
  18. 四目並べ
  19. テトリス
  20. オンライン多人数ゲーム
  21. Web スクレイピング
  22. ファイル名変更機能
  23. 天気プログラム
  24. Python での Discord Bot 開発 - クラウド上での無料ホスティング
  25. スペースインベーダーゲーム

Python での Mad Libs (マッドリブス) 開発

「Kylie Ying のチュートリアル」では、ユーザーが入力する情報を取得する方法、Python の文字列フォーマットである f-strings の使い方、そして、コンソールに出力された結果を確認する方法を学びます。

このチュートリアルは、Python での文字の連結に慣れるにあたり、とても良い初心者向けのプロジェクトとなります。

Python での数あてゲーム開発 (コンピューター側の数)

「Kylie Ying のチュートリアル」では、Python のランダムモジュールの動かし方、関数の作り方、ループ処理と条件分岐の使い方、そして、利用者が入力した情報を取得する方法を学べます。

Python での数あてゲーム開発 (ユーザー側の数)

「Kylie Ying のチュートリアル」のこのパートでは、今度はコンピューターがユーザー側の数を予想する数あてゲームを作成します。こちらでも Python のランダムモジュールの動かし方、関数の作り方、ループ処理と条件分岐の使い方、そして、利用者が入力した情報を取得する方法を扱います。

Python でのじゃんけんゲーム開発

「Kylie Ying のチュートリアル」では、random.choice()、if 文、ユーザー入力の取得を扱います。これは、条件分岐や関数のような基礎を固めるのに役立つプロジェクトです。

Python でのハングマン開発

「Kylie Ying のチュートリアル」では、辞書型、リスト型、そして、条件がネストされている中での活用の仕方を学べます。これらに加えて、文字型と random 関数のモジュールについても理解できるでしょう。

Python でのカウントダウンタイマー開発

「Code With Tomi のチュートリアル」では、time という時刻データへのアクセスと変換の Python のモジュールを利用して、カウントダウンタイマーを開発する方法を学べます。このチュートリアルは、Python における while ループの使い方を学ぶことができるので、Python の初心者におすすめのプロジェクトの一つです。

Python でのパスワード生成システム開発

同じく「Code With Tomi のチュートリアル」で、ランダムのパスワードを生成するシステムについて学べます。パスワードの数とパスワードの長さを利用者から受け取り、ランダムなパスワードを生成します。
このプロジェクトでは、loop 処理と Python の標準モジュールである random 関数の使い方を学べるでしょう。

Python での QR コードのエンコード/デコード開発

「Code With Tomi」のチュートリアルで、QR コードの作り方、そして、QR コードの情報をエンコード/デコードする処理について学べます。このプロジェクトは、QR コードライブラリを利用します。

初心者にとって、Pythonの異なるモジュールをインストールして使うことに慣れるのに最適なプロジェクトの一つでしょう。

Python での○×ゲーム開発

「Kylie Ying のチュートリアル」では、コマンドラインで、複数人のプレイヤーとプレイできる〇×ゲームを作る方法を学べます。ネストされた if 文の使い方を練習したり、timemath という 2 つの Python の標準モジュールの使い方を学んだりできます。

Python での AI ○×ゲーム開発

「Kylie Ying のチュートリアル」で、コンピュータが負けることのない〇×ゲームの作り方を学べます。このプロジェクトは、意思決定に用いられる再帰的アルゴリズムであるミニマックス・アルゴリズムを利用します。

Python での二分探索アルゴリズム開発

「Kylie Ying のチュートリアル」で、バイナリサーチ (二分探索) と呼ばれる分割統治アルゴリズムの実装方法を学べます。これは、採用面接で出題されることもある検索アルゴリズムで、コードでの実装方法を知っておくことが重要です。

Python でのマインスイーパー開発

「Kylie Ying のチュートリアル」で、コマンドラインでのマインスイーパーゲームを開発できます。このプロジェクトは、再帰とクラスの処理にフォーカスしたプロジェクトです。

Python での数独解決開発

「Kylie Ying のチュートリアル」で、バックトラックの技術を活用する数独の解決を開発できます。バックトラックは、問題を解決するにあたり、あらゆる組み合わせの探索を行う再帰的な技法の一つです。

Python での画像加工開発

「Kylie Ying のチュートリアル」では、画像フィルターを作成して、画像のコントラスト、明るさ、ぼかしを変更する方法を学べます。このプロジェクトを始める前に、スターターファイルをダウンロードする必要があります。

Python でのマルコフ連鎖テキスト作成開発

「Kylie Ying のチュートリアル」では、過去の状態に基づいて未来の状態を予測する確率モデルとして知られるマルコフ連鎖モデルについて、そしてそれを歌詞の関係にどのように適用できるかを学べます。このプロジェクトは、Python での人工知能への素晴らしい入門講座となるでしょう。

Python でのピンポンゲーム開発

「Christian Thompson のチュートリアル」では、Python での古典的なピンポンゲームの再構築の仕方を学べます。OS の動かし方、そして、タートルの Python モジュールを利用して、ゲームのグラフィックスを作成する方法を学びます。

Python でのスネークゲーム開発

「Tech with Tim のチュートリアル」では、Python でなつかしのスネークゲームを再構築する方法を学べます。このプロジェクトは、オブジェクト指向のプログラミングと Python でゲームを作るための人気モジュールである Pygame を使います。

Python での四目並べ開発

「Keith Galli のチュートリアル」で、昔からある四目並べのコネクトフォーの作り方を学べます。このプロジェクトでは、numpymathpygame、そして sys という Python モジュールを活用します。

このプロジェクトは、既に初心者向けの小規模の Python プロジェクトに取り組んだことがある人に最適です。Python プロジェクトの開発が初めての場合は、ここまで紹介したリストの一つに先に取り組むことを強くおすすめします。

Python でのテトリス開発

「Tech with Tim のチュートリアル」では、昔からあるテトリスゲームを再開発する方法を学べます。このプロジェクトは、Pygame を活用し、開発初心者が次のレベルのスキルを取得するのに良い機会です。

Python でのオンライン多人数ゲーム開発

「Tech with Tim のチュートリアル」では、世界中の人たちと遊べるオンラインのマルチプレイヤーゲームの開発を学べます。このプロジェクトは、Sockets やネットワーク、そして、Pygame の使い方を学ぶ素晴らしい第一歩となるでしょう。

Python での Web スクレイピング開発

「Code With Tomi のチュートリアル」で、利用者が入力する GitHub の利用者リンクに対して、Web スクレイピングを通して、プロフィール画像リンクを出力する方法を学べます。Web スクレイピングは、Web ページからデータを集める手法の一つです。

Python でのファイル名変更機能開発

「Code With Tomi のチュートリアル」で、コンピュータ上の任意のフォルダにある全てのファイルについて、Python コードに書かれた条件に基づいて名前を変更するプログラムの開発を学べます。

Python での天気プログラム開発

「Code With Tomi のチュートリアル」で、特定の地域の利用者データを集めて、集められた地域の詳細な気象情報を出力する仕組みを開発します。これは、API からデータを取得する方法を学び始めるのに適したプロジェクトです。

Python での Discord Bot 開発 - クラウド上での無料ホスティング

「Beau Carnes のチュートリアル」で、利用者がオンラインチャットを楽しめるプラットフォームである Discord で機能する bot を開発する方法を学べます。このプロジェクトは、Discord API の仕組み、そして、Replit IDE について教えてくれます。

このビデオが公開された後、Replit は、環境変数をプログラムに保存する方法を変更しました。Replit の環境変数の設定方法は、このチュートリアルから確認してください。

Python でのスペースインベーダーゲームプロジェクト

「buildwithpython のチュートリアル」では、Pygame を用いたスペースインベーダーゲームの開発方法を学べます。ゲーム上でのループ処理、衝突検出、キープレスイベントなどゲーム開発におけるたくさんの基礎を学べます。