ジャンケン:コンピュータの手を乱数に
第34回までのジャンケンは、コンピュータの手が固定でした。今回は random.choice で毎回ランダムに出すように改造。これで本物のジャンケンと戦えます。
🧠 できるようになること
- Lv1のジャンケンに乱数を組み込める
- リスト+random.choice の応用ができる
- ちゃんとしたゲームを完成させる
🧰 用意するもの
- パソコン
- ブラウザ(Chrome / Edge / Safari)
- インターネット接続
- このページの「▶ このページで実行」ボタン(コードをそのまま動かせます)
- Trinket(予備の実行サイト:https://trinket.io/python)
🖼 できあがり
プレイヤーが手を入力すると、コンピュータも毎回ランダムに手を出して勝敗判定。本物のジャンケンと同じ。
📺 実行結果
手を選んで(グー・チョキ・パー): グー
あなた:✊ コンピュータ:✌
結果:勝ち!
🚀 やりかた
import random。hands = ["グー", "チョキ", "パー"]。computer = random.choice(hands)で乱数選択。- あとは第34回と同じ判定ロジック。
- Run を何度もして、結果が変わることを確認。
🐍 きょうのコード
Python
main.py
import random
hands = ["グー", "チョキ", "パー"]
emoji = {"グー": "✊", "チョキ": "✌", "パー": "🖐"}
player = input("手を選んで(グー・チョキ・パー): ")
computer = random.choice(hands)
print(f"あなた:{emoji.get(player, '?')} コンピュータ:{emoji[computer]}")
if player == computer:
print("結果:あいこ")
elif (player == "グー" and computer == "チョキ") \
or (player == "チョキ" and computer == "パー") \
or (player == "パー" and computer == "グー"):
print("結果:勝ち!")
else:
print("結果:負け")
このページの「▶ このページで実行」でそのまま動きます。Trinketを使うときは、上のコードをコピーして左のエリアに貼り付け、Runボタン(▶)を押します。
💡 きょうのポイント
辞書(dict) {"グー": "✊", ...} も少しだけ登場。これはキーから値を引き出すデータ構造で、リストの仲間。本格的には中級で扱いますが、ジャンケンの絵文字対応で便利。
🎮 チャレンジ
- プレイヤーが「やめる」と打つまでくりかえすジャンケンに改造しよう
- 勝った数・負けた数を数えてスコア表示しよう
- コンピュータが「グー」を出しやすいように偏らせよう
🔁 ふりかえり
- コンピュータがランダムに手を出すと、プレイヤーは勝てる?
- 辞書(dict)はリストとどう違う?
- 次回は3回戦勝負にします。何が変わる?
👨👩👧 おうちの人・先生へ
- 準備:なし。
- つまずきポイント:
\(バックスラッシュ)での行継続は中級向け。慣れない子は条件を1行にまとめてもOK。 - 声かけ例:「毎回手が変わると、ジャンケンらしくなるね」と伝えます。家族と一緒に試すと結果の違いを楽しめます。