Pythonでランダムな時間(乱数)を生成させる方法
【randomモジュールに強くなる】

Pythonで乱数を取得する方法

Pythonで乱数を取得するには、randomモジュールを使用します。

import random
Code language: JavaScript (javascript)

で使えるようになります。

↓まだお持ちでない方は新しくインストールしておきましょう。

pip install random

Randomモジュールの使い方

整数の乱数を発生させたい場合

まずは整数の発生のさせ方。返り値はint

# 2秒から6秒までのランダム時間(整数)を生成 random.randint(2, 6) # 3
Code language: PHP (php)

浮動小数点数の乱数を発生させたい場合

よりランダムな乱数を発生したい場合はこちらですね。返り値はfloat

# 0.1秒から3秒までの浮動少数点数を生成 random.uniform(0.1, 3) # 0.22233423
Code language: CSS (css)

こちらで生成される値は0.22233423や、1.54334565823827のようなきめ細かい数値になります。

また、uniformは2つの引数の大小の順序は問わないので、以下のような書き方でも同じ処理になります。

# 0.1秒から3秒までの浮動少数点数を生成 random.uniform(3, 0.1)
Code language: CSS (css)

ちなみに、0~1までの少数を作りたい場合は予め専用の関数が用意されています。

0.0以上1.0未満の浮動小数点数を発生させる

# 0~1の間で浮動少数点数を生成 random.random() # 0.4562372894925
Code language: CSS (css)

生成する浮動小数点数(少数)の桁数を指定する

また、小数点以下の桁数を指定したい場合は以下のようにformat関数を用いることで可能です。

# 小数点以下2桁の浮動少数点数を生成 '{:.2f}'.format(random.uniform(3, 0.1)) # 0.24
Code language: PHP (php)

やりかたその2として、

Python3.6以降では f文字列 (f-string) という表記でも同じ処理が可能です。

num = random.random() print(f'{num:.10f}') # 0.4562372894 print(f'{num:.02f}') # 0.45
Code language: PHP (php)

便利なので覚えておくとよいでしょう。

まとめ

乱数は非常に汎用性の高い機能です。

if文に組み込むだけで、おみくじが出来てしまいます。
ランダム性はゲームやジェネレイティブコーディングだけでなく、データスクレイピングにも多用されることが多いので、積極的に使いこなせるようになりましょう。

まる。

Python歴3年のフルスタックエンジニア兼ブロガー兼ヨギー。大学は心理学、趣味はヨガ。
名刺・HP制作やハタヨガレッスンやってます。

まる。をフォローする

Pythonの人気記事一覧

【Python3】Pyinstallerでexe化した.pyファイルをデコンパイルして中身を覗いてみる【uncompyle6】
【Python3】でSSH接続してみる手順を紹介。
【.pyc】現行のPythonバージョンのマジックナンバーを求める方法
オンライン学習ならUdemyがおすすめ!
【初心者にイチオシ講座5選】
Python歴3年の独学エンジニアが語る
【プログラミング初心者はPython一択な3つの理由】
タイトルとURLをコピーしました