食べ物ルーレットを作ろう
食べ物リストをぐるぐる回しているように見せて、最後にピタッと止まるルーレットを作ります。time.sleep で速度をだんだん遅くするのがコツ。
🧠 できるようになること
time.sleepでアニメっぽい演出ができる- for ループで段々と変えられる
- ユーザーを楽しませる工夫を学ぶ
🧰 用意するもの
- パソコン
- ブラウザ(Chrome / Edge / Safari)
- インターネット接続
- このページの「▶ このページで実行」ボタン(コードをそのまま動かせます)
- Trinket(予備の実行サイト:https://trinket.io/python)
🖼 できあがり
「ルーレット START!」のあと、食べ物が次々表示され、だんだん遅くなり、最後に「決定!カレー」のように止まります。
📺 実行結果
🎰 食べ物ルーレット → ラーメン → すし → カレー → ピザ …(だんだんゆっくり)… 🎉 決定!ハンバーグ
🚀 やりかた
menuリストを用意。for i in range(15):で15回回します。random.choice(menu)で1つずつ表示。time.sleep(0.1 + i * 0.05)で段々遅くする。- ループのあとに最終結果を強調表示。
🐍 きょうのコード
Python
main.py
import random
import time
menu = ["カレー", "ラーメン", "すし", "オムライス", "ハンバーグ",
"カツ丼", "ピザ", "うどん"]
print("🎰 食べ物ルーレット")
for i in range(15):
choice = random.choice(menu)
print(f"→ {choice}")
time.sleep(0.1 + i * 0.05)
final = random.choice(menu)
print(f"🎉 決定!{final}")
このページの「▶ このページで実行」でそのまま動きます。Trinketを使うときは、上のコードをコピーして左のエリアに貼り付け、Runボタン(▶)を押します。
💡 きょうのポイント
time.sleep(0.1 + i * 0.05) でループが進むほど待ち時間が長くなる。これで「だんだん遅くなる」演出ができます。プログラムに動きを与える小さな工夫。
🎮 チャレンジ
- 回す回数を20回に増やしてもっと長いルーレットにしよう
- 最後に
print("---" * 10)で派手に区切ろう - ルーレットの効果音を絵文字で表現しよう(🎵 🥁)
🔁 ふりかえり
time.sleepの引数を変えるとどう変わる?- 本物のルーレットも段々遅くなる。なぜ?
- プログラムで「演出」をどう作る?
👨👩👧 おうちの人・先生へ
- 準備:なし。
- つまずきポイント:
time.sleep中はTrinketが「動いてない」ように見えるが、実際は待っている状態。 - 声かけ例:「動きを作るとプログラムが楽しくなる」と感じさせる回。盛り上げて。