![見出し画像](https://assets.st-note.com/production/uploads/images/162145148/rectangle_large_type_2_51d92c256512fa61954c82bd886cc9d0.png?width=1200)
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初心者でも楽しみながらプログラムを書くことができましたね!このゲームを通して学んだことを振り返ってみましょう:
input()でのユーザー入力 - ユーザーが選択した内容を取得できました。
randomモジュール - コンピュータの手をランダムに選び、プログラムに変化を加えました。
条件分岐による判定ロジック - プログラムに「勝ち」「負け」「引き分け」を判断させました。
結果の表示 - ユーザーにわかりやすく結果を表示しました。
Pythonの基本的な使い方が、じゃんけんゲームを通じて楽しく学べましたね。次のステップとして、このじゃんけんゲームに機能を追加してみても良いかもしれません!例えば、「5回勝負」にする、勝敗を記録するなど、いろんなアレンジができます。ぜひ、自分なりに改良してみてください。
最後に
この記事の課題は、私が師と仰ぐ、
「かめ@米国データサイエンティスト」 さんのコミュニティーの中の coding_challenge の課題を参考にしています。
3年くらい前から、「かめ@米国データサイエンティスト」 さんのブログ、Udemy講座などで、pythonとDSをゆっくり勉強中です。