Pythonでランダム実数と整数
Pythonのrandomモジュールを使って、ランダムな数字を取得してみます。
目次
ランダムな実数を取得する
randomメソッドで0以上1未満の浮動小数点数を取得できます。
F = random.random()
変数 |
内容 |
---|---|
F |
ランダムな浮動小数点数(float) |
試してみます。
>>> import random
>>> random.random()
0.08677013264299915
ランダムな整数を取得する
randrangeメソッドでランダムな整数を取得できます。
書き方が2つあります。
I = random.randrange(stop)
I = random.randrange(start, stop, step)
変数 |
内容 |
---|---|
start |
整数の範囲の下限 |
stop |
整数の範囲の上限 |
step |
省略可。整数のステップ。既定値は1 |
I |
start以上stop未満の整数(int) |
試してみます。
>>> import random
>>> random.randrange(10)
6
>>> random.randrange(10)
9
>>> random.randrange(0,10)
9
>>> random.randrange(0,10)
1
>>> random.randrange(0,10,3)
9
>>> random.randrange(0,10,3)
3
同じ乱数を作る
乱数は欲しいけど、同じ乱数が出て欲しい。そんな場合には、seedの設定をします。
random.seed(a, version)
変数 |
内容 |
---|---|
a |
タネです。省略可。既定値はNone。省略されるかNoneが指定された場合は、システム時刻が使用されます。 |
version |
省略可。既定値は2。乱数の設定の仕方がPython3.2から変わったようです。2は新しい方の設定。 |
試してみます。
まず、seedに1を設定して、実数の乱数を連続して3つ生成してみます。
>>> import random
>>> random.seed(1)
>>> random.random()
0.13436424411240122
>>> random.random()
0.8474337369372327
>>> random.random()
0.763774618976614
一度Pythonを終了して、再度seedを1にして乱数を生成してみます。
>>> import random
>>> random.seed(1)
>>> random.random()
0.13436424411240122
>>> random.random()
0.8474337369372327
>>> random.random()
0.763774618976614
同じ実数が表示されてますね。
これはデバッグの時などに便利かも。
公開日
広告