Pythonで乱数を取得する方法
Pythonで乱数を取得するには、randomモジュールを使用します。
import random
で使えるようになります。
↓まだお持ちでない方は新しくインストールしておきましょう。
pip install random
Randomモジュールの使い方
整数の乱数を発生させたい場合
まずは整数の発生のさせ方。返り値はint
。
# 2秒から6秒までのランダム時間(整数)を生成
random.randint(2, 6)
# 3
浮動小数点数の乱数を発生させたい場合
よりランダムな乱数を発生したい場合はこちらですね。返り値はfloat
。
# 0.1秒から3秒までの浮動少数点数を生成
random.uniform(0.1, 3)
# 0.22233423
こちらで生成される値は0.22233423や、1.54334565823827のようなきめ細かい数値になります。
また、uniform
は2つの引数の大小の順序は問わないので、以下のような書き方でも同じ処理になります。
# 0.1秒から3秒までの浮動少数点数を生成
random.uniform(3, 0.1)
ちなみに、0~1までの少数を作りたい場合は予め専用の関数が用意されています。
0.0以上1.0未満の浮動小数点数を発生させる
# 0~1の間で浮動少数点数を生成
random.random()
# 0.4562372894925
生成する浮動小数点数(少数)の桁数を指定する
また、小数点以下の桁数を指定したい場合は以下のようにformat
関数を用いることで可能です。
# 小数点以下2桁の浮動少数点数を生成
'{:.2f}'.format(random.uniform(3, 0.1))
# 0.24
やりかたその2として、
Python3.6以降では f文字列 (f-string) という表記でも同じ処理が可能です。
num = random.random()
print(f'{num:.10f}')
# 0.4562372894
print(f'{num:.02f}')
# 0.45
便利なので覚えておくとよいでしょう。
まとめ
乱数は非常に汎用性の高い機能です。
if文に組み込むだけで、おみくじが出来てしまいます。
ランダム性はゲームやジェネレイティブコーディングだけでなく、データスクレイピングにも多用されることが多いので、積極的に使いこなせるようになりましょう。