はじめに
このドキュメントでは、Python を使ったシンプルな数当てゲームのコードを紹介します。
このゲームでは、1 から 100 の間でランダムに選ばれた数字を、プレイヤーが試行錯誤しながら当てます。
コードの実装だけでなく、実際の動作例や解説も含めて、Python の基本的な構造を理解しやすくしています。
書こうと思ったきっかけ
Python の基礎を学ぶためには、実際にコードを書いて試すことが大切 だと感じました。
特に「ループ」「条件分岐」「ユーザー入力」などの要素が組み合わさったシンプルなプログラムは、初学者にとって実践的な練習になります。
そこで、手軽に試せる 数当てゲーム を題材にし、コードの流れと解説をまとめました。
完成したコード
import random
def number_guessing_game():
target = random.randint(1, 100)
attempts = 0
print("1 から 100 までの数字を当ててください!")
while True:
guess = int(input("予想した数字を入力してください: "))
attempts += 1
if guess < target:
print("もっと大きい数字です!")
elif guess > target:
print("もっと小さい数字です!")
else:
print(f"正解です!{attempts} 回で当たりました 🎉")
break
number_guessing_game()
コードの流れ
-
ランダムな数を生成
random.randint(1, 100)
を使って、1 から 100 の範囲でランダムな数字 (target
) を決定。
ユーザーがこのtarget
の数字を当てるのが目的。 -
ゲーム開始のメッセージを表示
print("1 から 100 までの数字を当ててください!")
でゲーム開始を案内。 -
無限ループでユーザーの入力を受け取る
while True:
で無限ループを開始し、ユーザーの予想 (guess
) を入力させる。
attempts
をカウントして、何回目の試行か記録。 -
入力した数字を
target
と比較-
guess < target
の場合、「もっと大きい数字です!」とヒントを表示。 -
guess > target
の場合、「もっと小さい数字です!」とヒントを表示。 -
guess == target
の場合、正解メッセージを表示してループを抜ける (break
)。
-
-
ゲーム終了
正解したら、何回目で当たったか (attempts
) を表示して終了。
実際に実行してみる
まず、以下のコマンドを実行して作成したコードの動作を確認します。
python test.py
実行結果
~/Desktop ((git)-[main]) python test.py
1 から 100 までの数字を当ててください!
予想した数字を入力してください: 2
もっと大きい数字です!
予想した数字を入力してください: 6
もっと大きい数字です!
予想した数字を入力してください: 50
もっと大きい数字です!
予想した数字を入力してください: 80
もっと大きい数字です!
予想した数字を入力してください: 90
もっと小さい数字です!
予想した数字を入力してください: 87
正解です!6 回で当たりました 🎉
実際の画面
コードの解説
乱数を生成し、ゲームの準備をする
import random
def number_guessing_game():
target = random.randint(1, 100)
attempts = 0
print("1 から 100 までの数字を当ててください!")
解説
random.randint(1, 100) で 1 から 100 の間のランダムな整数 を target
に設定。
→ これがプレイヤーの当てるべき数 になる。
試行回数 (attempts
) を 0 にリセット。
→ プレイヤーが何回試行したかをカウント するための変数。
ゲームの開始メッセージを表示。
ユーザーの入力を受け取り、比較する
while True:
guess = int(input("予想した数字を入力してください: "))
attempts += 1
if guess < target:
print("もっと大きい数字です!")
elif guess > target:
print("もっと小さい数字です!")
else:
print(f"正解です!{attempts} 回で当たりました 🎉")
break
解説
無限ループ (while True
) を使い、ユーザーが正解するまで繰り返す。
ユーザーに数値を入力させる (input()
)。
→ 整数 (int()
) に変換 し、変数 guess
に格納。
試行回数 (attempts
) を 1 ずつ増やす。
入力値と正解を比較
-
guess < target
の場合、「もっと大きい数字です!」 とヒントを出す。 -
guess > target
の場合、「もっと小さい数字です!」 とヒントを出す。 -
guess == target
の場合、「正解!」 のメッセージを表示し、break
でループを終了。
ゲームを開始する
number_guessing_game()
解説
number_guessing_game()
を呼び出し、ゲームをスタート する。
まとめ
最後までお読みいただき、ありがとうございました。Python を使ってランダムな数を当てるシンプルなゲームを作ることで、関数の仕組みや活用方法への理解が深まりました。
今後も、このような基礎的な内容を分かりやすく整理し、丁寧にまとめていこうと思います。