見出し画像

python coding : じゃんけんゲーム(レベル⭐️)

この記事は、chatGPTが書いています。
また、動作確認用のgoogle colab notebook も、chatGPTに書き出してもらいました。


初心者でも楽勝!Pythonでじゃんけんゲームを作ってみよう! 🎮

こんにちは、プログラミング初心者の皆さん!今日は、Pythonを使って楽しく「じゃんけんゲーム」を作ってみましょう!プログラミングを始めたばかりでも大丈夫。このゲームを作りながら、Pythonの基本的な使い方とコツがつかめるよう、超わかりやすくstep by stepで解説していきます!📝

じゃんけんゲームって?

今回は「Rock, Paper, Scissors(日本語では「じゃんけん」ですね)」をPythonで作ります。皆さんご存知の通り、じゃんけんのルールは以下の通りです:

  • Rock(グー)Scissors(チョキ) に勝つ

  • Scissors(チョキ)Paper(パー) に勝つ

  • Paper(パー)Rock(グー) に勝つ

  • 同じ手を出したら「引き分け」

それでは、楽しみながらプログラムを書いていきましょう!💻


Step 1: ユーザーの手を入力しよう!👋

まず、じゃんけんをするには「自分の手」を決める必要がありますよね。Pythonでは、input() 関数を使ってユーザーの入力を受け取ることができます。ここでは「R」「P」「S」のいずれかを入力してもらうようにします。

# ユーザーの入力を受け取る
user_choice = input("Enter your choice (R for Rock, P for Paper, S for Scissors): ")

# 入力内容の確認
if user_choice not in ['R', 'P', 'S']:
    print("Invalid input! Please enter R, P, or S.")
else:
    print("You chose:", user_choice)

🔍 ここでのポイント

  • input() 関数を使って、ユーザーが「R」「P」「S」のいずれかを入力できるようにしています。

  • ユーザーが正しく入力しなかった場合、「Invalid input!」と表示してエラーをキャッチ。

🌟 動作確認!

このコードを実行して、いろいろな文字を入力してみましょう。例えば「R」と入力すると「You chose: R」と表示されるはずです。無効な文字を入力すると「Invalid input!」と教えてくれます。


Step 2: コンピュータの手をランダムに選ぼう!🤖

じゃんけんは1人ではできません。相手が必要です。ここでPythonの random モジュールを使い、コンピュータの手をランダムに決めてもらいましょう。

import random

user_choice = input("Enter your choice (R for Rock, P for Paper, S for Scissors): ")

if user_choice not in ['R', 'P', 'S']:
    print("Invalid input! Please enter R, P, or S.")
else:
    print("You chose:", user_choice)

    # コンピュータの手をランダムに選ぶ
    computer_choice = random.choice(['R', 'P', 'S'])
    print("Computer chose:", computer_choice)

🔍 ここでのポイント

  • random.choice() を使って、コンピュータの手をランダムに決定します。これにより、毎回コンピュータが異なる手を選び、ゲームが面白くなります!

🌟 動作確認!

コードを何度か実行し、ユーザーの手とコンピュータの手がそれぞれランダムに表示されるかを確認してみましょう。


Step 3: 勝敗を決めるロジックを作ろう!⚔️

次は「勝ち」「負け」「引き分け」を判定するロジックを追加します。じゃんけんのルールに基づいて条件を設定しましょう。

import random

user_choice = input("Enter your choice (R for Rock, P for Paper, S for Scissors): ")

if user_choice not in ['R', 'P', 'S']:
    print("Invalid input! Please enter R, P, or S.")
else:
    print("You chose:", user_choice)
    computer_choice = random.choice(['R', 'P', 'S'])
    print("Computer chose:", computer_choice)

    # 勝敗の判定
    if user_choice == computer_choice:
        result = "It's a tie!"
    elif (user_choice == 'R' and computer_choice == 'S') or \\
         (user_choice == 'P' and computer_choice == 'R') or \\
         (user_choice == 'S' and computer_choice == 'P'):
        result = "You win!"
    else:
        result = "You lose!"

    print("Result:", result)

🔍 ここでのポイント

  • 「勝ち」「負け」「引き分け」の条件を設定することで、コンピュータとユーザーの手に基づいて勝敗が判定されるようになります。

🌟 動作確認!

各パターンで勝敗が正しく出るかを確認しましょう。例えば、ユーザーが「R」を選びコンピュータが「S」を選んだら「You win!」と表示されるか試してみてください。


Step 4: 最終仕上げ!結果をわかりやすく表示しよう🎉

最後に、ユーザーとコンピュータの手を人間がわかりやすいように表示し、ゲーム結果も見やすくしましょう。

import random

user_choice = input("Enter your choice (R for Rock, P for Paper, S for Scissors): ")

if user_choice not in ['R', 'P', 'S']:
    print("Invalid input! Please enter R, P, or S.")
else:
    choices = {'R': 'Rock', 'P': 'Paper', 'S': 'Scissors'}
    print("You chose:", choices[user_choice])

    computer_choice = random.choice(['R', 'P', 'S'])
    print("Computer chose:", choices[computer_choice])

    # 勝敗の判定
    if user_choice == computer_choice:
        result = "It's a tie!"
    elif (user_choice == 'R' and computer_choice == 'S') or \\
         (user_choice == 'P' and computer_choice == 'R') or \\
         (user_choice == 'S' and computer_choice == 'P'):
        result = "You win!"
    else:
        result = "You lose!"

    print("Result:", result)

🔍 ここでのポイント

  • choices という辞書を作成し、「R」「P」「S」がそれぞれ「Rock」「Paper」「Scissors」に変換されるようにしました。これにより、結果がわかりやすく表示されます。

🌟 動作確認!

さあ、完成です!コードを実行し、コンピュータとじゃんけん対決を楽しみましょう!


まとめ 🏆

お疲れさまでした!これでPythonでじゃんけんゲームが完成です。Python初心者でも楽しみながらプログラムを書くことができましたね!このゲームを通して学んだことを振り返ってみましょう:

  1. input()でのユーザー入力 - ユーザーが選択した内容を取得できました。

  2. randomモジュール - コンピュータの手をランダムに選び、プログラムに変化を加えました。

  3. 条件分岐による判定ロジック - プログラムに「勝ち」「負け」「引き分け」を判断させました。

  4. 結果の表示 - ユーザーにわかりやすく結果を表示しました。

Pythonの基本的な使い方が、じゃんけんゲームを通じて楽しく学べましたね。次のステップとして、このじゃんけんゲームに機能を追加してみても良いかもしれません!例えば、「5回勝負」にする、勝敗を記録するなど、いろんなアレンジができます。ぜひ、自分なりに改良してみてください。

最後に

この記事の課題は、私が師と仰ぐ、
「かめ@米国データサイエンティスト」 さんのコミュニティーの中の coding_challenge の課題を参考にしています。
3年くらい前から、「かめ@米国データサイエンティスト」 さんのブログ、Udemy講座などで、pythonとDSをゆっくり勉強中です。


いいなと思ったら応援しよう!