デジタルこどもBASEのロゴ 特定非営利活動法人デジタルこどもBASE 📚 目次
第34回 Lv1 ⏱ 15〜20分

ジャンケン:あいこも判定しよう

🎯 きょうのミッション

第33回はコンピュータの手が「グー」固定でした。今回はコンピュータの手も変えながら、すべてのパターンで勝敗を判定するようにします。if の中に if を書く(ネスト)方法も学びます。

🧠 できるようになること

  • if をネスト(入れ子)にできる
  • 3×3 = 9パターンの勝敗を整理できる
  • あいこ判定が正しく書ける

🧰 用意するもの

🖼 できあがり

プレイヤーの手とコンピュータの手の両方を変えても、正しい勝敗が出ます。9パターンすべてに対応します。

📺 実行結果
あなたの手: チョキ
コンピュータの手: パー
あなた:✌  コンピュータ:🖐
結果:勝ち!

🚀 やりかた

  1. player = input(...)computer = input(...) で両方を受け取ります(テスト用)。
  2. if player == computer: で「あいこ」を最初に判定します。
  3. elif で残りの勝ち・負けパターンを書きます。
  4. 勝つパターンは「グー+チョキ」「チョキ+パー」「パー+グー」の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を開いて動かす

上のコードをコピーして、Trinketの左のエリアに貼り付け、Runボタン(▶)を押すと動きます。

💡 きょうのポイント

あいこは player == computer1行で書けるのがポイント。これで判定がスッキリします。残りは「勝ちパターン3つ」と「else(残り全部負け)」で完成。

🎮 チャレンジ

  • 勝ちパターンを or でまとめて1つの elif にしよう
  • コンピュータの手をランダムにする(次回で本格的にやります)
  • 「あいこのとき再戦」のメッセージを追加しよう

🔁 ふりかえり

  • あいこの判定を1行で書く工夫はうまかった?
  • 9パターンすべてを elif で書く方法もある。どちらが見やすい?
  • ジャンケンが完成に近づいてきました。次に何が必要?

👨‍👩‍👧 おうちの人・先生へ

  • 準備:なし。
  • つまずきポイント:勝ちパターンを書き間違えやすい。紙に「グー>チョキ」「チョキ>パー」「パー>グー」とメモしてから書かせるのがおすすめ。
  • 声かけ例:「あいこの判定を上手にやると、コードがすごく短くなる」と工夫の楽しさを伝えてください。