今回やること
ここまで学んだ基本文法を使って、じゃんけんゲームを作ります。
ミニ制作では、文法を1つずつ覚えるだけでなく、組み合わせて動くものにします。
今回は、入力、ランダム選択、勝敗判定を使います。
手を用意する
hands = ["グー", "チョキ", "パー"]
print(hands)
選べる手はリストで管理します。
コンピューターの手を選ぶ
import random
hands = ["グー", "チョキ", "パー"]
computer = random.choice(hands)
print(computer)
random.choice() でリストから1つ選びます。
ユーザー入力を受け取る
user = input("グー・チョキ・パーから選んでください: ")
入力された文字列を勝敗判定に使います。
勝敗を判定する
import random
hands = ["グー", "チョキ", "パー"]
user = input("グー・チョキ・パーから選んでください: ")
computer = random.choice(hands)
print(f"あなた: {user}")
print(f"コンピューター: {computer}")
if user == computer:
print("あいこです")
elif user == "グー" and computer == "チョキ":
print("勝ちです")
elif user == "チョキ" and computer == "パー":
print("勝ちです")
elif user == "パー" and computer == "グー":
print("勝ちです")
else:
print("負けです")
まずは読みやすさを優先して、条件をそのまま書きます。
入力チェックを追加する
if user not in hands:
print("グー・チョキ・パーのどれかを入力してください")
想定外の入力も考えると、プログラムが親切になります。
よくあるエラー
| 問題 | 原因 | 修正 |
|---|---|---|
| いつも負ける | 条件式が間違っている | 勝ち条件を1つずつ確認 |
| 入力が合わない | 表記ゆれがある | 選択肢を表示する |
NameError | import random がない | 先頭にimportを書く |
練習
- じゃんけんを1回できるようにする
- 入力チェックを追加する
whileを使って何回も遊べるようにする- 勝ち数をカウントする
次のステップ
次は、ファイル保存やCSVを使って「学習記録アプリ」のようなミニ制作に広げられます。