Navigation

Related Articles

Back to Latest Articles

Pythonのrandomモジュールでランダムな小数・整数を生成


press
Pythonのrandomモジュールでランダムな小数・整数を生成

Pythonのrandomモジュールでランダムな小数・整数を生成

Pythonで乱数(ランダムな小数や整数)が生成できる、randomモジュールの使い方を説明します。

開発環境

Python 3.8.0

float型の乱数を生成(1)

print([random.random() for i in range(10)])
[0.5402962015033018, 0.9117647185441886, 0.7671376519179925, 0.6139038287573314, 0.67456975338617, 0.5892681067257833, 0.46150379759093973, 0.7421262343944842, 0.4759363325771525, 0.4535277704071454]

float型の乱数を10個生成します。

float型の乱数を生成(2)

print(random.uniform(10, 20))

print(random.uniform(100, -100))
14.43047883129314
-24.78297533034346

(10, 20)のように任意の範囲を指定して乱数を生成できます。

int型の乱数を生成(1)

print(list(range(10, 30, 3)))

print(random.randrange(10, 30, 2))
[10, 13, 16, 19, 22, 25, 28]
28

最後の引数はstepを指定すると2や3の倍数の乱数を生成できます。

print(list(range(10, 30, 3)))
10から30までの範囲で3の倍数をリスト化し表示

print(random.randrange(10, 30, 2))
10から30までの範囲で2の倍数から乱数を取得

int型の乱数を生成(2)

print(random.randint(10, 20))
17

10から30までの範囲で整数の乱数を生成します。

int型の乱数のリスト生成

print(random.sample(range(10), 5))

print(random.sample(range(100, 200, 10), 3))
[1, 7, 5, 8, 9]
[170, 130, 180]

sampleは重複しない整数の乱数リストを生成します。(randrange()randint()は重複する可能性があります)

print(random.sample(range(10), 5)
10までの範囲で重複しない整数を5つリスト化

print(random.sample(range(100, 200, 10), 3))
100から200までの範囲で重複しない10の倍数を3リスト化

乱数の初期化

random.seed(10)
print(random.random())
0.5714025946899135

seed()に任意の数値を指定し乱数シードを固定することで毎回同じ値が生成されます。


当ブログは群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。


人気のタグ

Beautiful Soup calender Channels charset ChromeDriver datetime Docker gettext glob Google Colaboratory i18n Matplotlib Nginx OpenCV pandas Pillow PostgreSQL psycopg2 PyCon random Redis ReportLab Selenium timedelta uWSGI venv


株式会社ファントムへのお問い合わせ




    Show Comments (0)

    Comments

    Related Articles

    Python

    複数の画像からgifアニメーションを作る

    複数の画像からgifアニメーションを作る 定点撮影などで連番になっている複数の画像をまとめてgifアニメーションに変換する方法です。 コードはGitHubリポジトリにあげています。 コード 結果 解説 import gl […]

    Posted on by press
    Django

    DjangoでDateTimeFieldが今日のデータを取得する方法

    Djangoのモデル上でDateTimeField型のデータが今日の日付のデータを取得する方法です。 1つ目00:00:00から23:59:59までの範囲を条件に取得します。 2つ目今日の日付が含まれるものを条件に取得し […]

    Posted on by press