「コンピューターが生成する、何が出てくるかわからない数値」のことを「乱数」というんだ!
「乱数」を使うと、サイコロやルーレットみたいなものを作ることができるよ!
基本型
randomモジュール
「乱数」を使うときには、「random」モジュールというのを読み込ませることが必要になるよ!
最初の「import random」で、「random」モジュールを読み込ませているんだ!
「モジュール」というのは、Pythonのプログラムで利用できる、便利な道具みたいなものなんだ!
「random」以外にも、たくさんのモジュールが用意されているんだよ!
どんなモジュールがあるのか、興味があったら調べてみてね!
使い方の例
📝1
「1~9」の間の中から、ランダムな整数値を一つ生成するプログラムです。
実行するたびに、ランダムな数値が生成されます。
同じ数値が続けて生成されることもありますが、確率は同じです。
import random
num = random.randint(1, 9)
print(num)
「1~9」の間だから、「最小」は「1」で、「最大」は「9」になるね!
何度も実行して、ほんとうに「1~9」の間の数値が生成されているのを確かめてね!
📝2
「1~100」までの間の中から整数値を一つランダムに生成し、生成された数値が偶数か奇数かを判定するプログラムです。
import random
num = random.randint(1, 100)
print("生成された数:", num)
if num % 2 == 0:
print("偶数です。")
else:
print("奇数です。")
どんな数値が生成されるのか予測できないから、おもしろいゲームが作れそうだね!
どんなゲームが作れそうか、ちょっと考えてみてね!
やってみよう
⌨️1
サイコロを振ったときの出た目によって、「当たり」または「はずれ」と表示するプログラムを、以下のコードの下に追加してください。
もし、出た目が「1」「2」「3」のときは「当たり」、それ以外の場合は「はずれ」と表示するようにしてください。
import random
num = random.randint(1, 6)
📖 解答例と解説
import random
num = random.randint(1, 6)
print("サイコロの目:", num)
if num <= 3:
print("当たり")
else:
print("はずれ")
サイコロの目は「1~6」までだから、「最小は1」で「最大は6」だよ!
「当たり」と「はずれ」の判定をする条件文は、他にも考えられるから正しく判定できているなら、このとおりでなくても大丈夫だよ!
⌨️2
コンピューターが生成した数を当てるゲームを作ってみましょう。
「1~20」の間でランダムに生成された数値と、キーボードから入力した整数値とを比べて、2つが「同じ」かそれとも「大きい」か「小さい」かを判定してください。
・2つの数値が「同じ」場合は、「おめでとう!正解です。ランダムに生成された数は〇〇でした。」と表示してください。
・入力した数値が「大きい」場合は、「残念!あなたの考えた数は大きいです。正解は〇〇でした。」と表示してください。
・入力した数値が「小さい」場合は、「残念!あなたの考えた数は小さいです。正解は〇〇でした。」と表示してください。
import random
#キーボードから整数値を入力
user_input = int(input())
#1~20の間でランダムな数値を生成
📖 解答例と解説
import random
#キーボードから整数値を入力
user_input = int(input())
#1~20の間でランダムな数値を生成
random_number = random.randint(1, 20)
#生成された数値と入力値を比較
if user_input == random_number:
print("おめでとう!正解です。ランダムに生成された数は", random_number, "でした。")
elif user_input < random_number:
print("残念!あなたの考えた数は小さいです。正解は", random_number, "でした。")
else:
print("残念!あなたの考えた数は大きいです。正解は", random_number, "でした。")
どうだった?うまく正解できたかな?
最小と最大の範囲を大きくしちゃうと、なかなか当たらなくなってしまって面白くなくなっちゃうから、たまに当たる程度にしておいてね!
これから、2つのサイコロを使ったゲームを作ろうと思っているけど、その前に複雑な条件文の作り方について学んでおいてほしいんだ!
そうすれば、もっと面白いゲームが作れるようになるからね!
- 「random」モジュールを使えば、指定した範囲の中からランダムな整数値を生成できる。