ジャンケン:あいこも判定しよう
第33回はコンピュータの手が「グー」固定でした。今回はコンピュータの手も変えながら、すべてのパターンで勝敗を判定するようにします。if の中に if を書く(ネスト)方法も学びます。
🧠 できるようになること
ifをネスト(入れ子)にできる- 3×3 = 9パターンの勝敗を整理できる
- あいこ判定が正しく書ける
🧰 用意するもの
- パソコン
- ブラウザ(Chrome / Edge / Safari)
- インターネット接続
- Trinket(https://trinket.io/python)
🖼 できあがり
プレイヤーの手とコンピュータの手の両方を変えても、正しい勝敗が出ます。9パターンすべてに対応します。
📺 実行結果
あなたの手: チョキ コンピュータの手: パー あなた:✌ コンピュータ:🖐 結果:勝ち!
🚀 やりかた
player = input(...)とcomputer = input(...)で両方を受け取ります(テスト用)。if player == computer:で「あいこ」を最初に判定します。elifで残りの勝ち・負けパターンを書きます。- 勝つパターンは「グー+チョキ」「チョキ+パー」「パー+グー」の3つ。
🐍 きょうのコード
Python
main.py
player = input("あなたの手: ")
computer = input("コンピュータの手: ")
print(f"あなた:{player} コンピュータ:{computer}")
if player == computer:
print("結果:あいこ")
elif player == "グー" and computer == "チョキ":
print("結果:勝ち!")
elif player == "チョキ" and computer == "パー":
print("結果:勝ち!")
elif player == "パー" and computer == "グー":
print("結果:勝ち!")
else:
print("結果:負け")
上のコードをコピーして、Trinketの左のエリアに貼り付け、Runボタン(▶)を押すと動きます。
💡 きょうのポイント
あいこは player == computer で1行で書けるのがポイント。これで判定がスッキリします。残りは「勝ちパターン3つ」と「else(残り全部負け)」で完成。
🎮 チャレンジ
- 勝ちパターンを
orでまとめて1つのelifにしよう - コンピュータの手をランダムにする(次回で本格的にやります)
- 「あいこのとき再戦」のメッセージを追加しよう
🔁 ふりかえり
- あいこの判定を1行で書く工夫はうまかった?
- 9パターンすべてを
elifで書く方法もある。どちらが見やすい? - ジャンケンが完成に近づいてきました。次に何が必要?
👨👩👧 おうちの人・先生へ
- 準備:なし。
- つまずきポイント:勝ちパターンを書き間違えやすい。紙に「グー>チョキ」「チョキ>パー」「パー>グー」とメモしてから書かせるのがおすすめ。
- 声かけ例:「あいこの判定を上手にやると、コードがすごく短くなる」と工夫の楽しさを伝えてください。