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を中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。


人気のタグ

API Beautiful Soup black Channels charset ChromeDriver CodeCommit datetime Django REST framework Docker enumerate f-string gettext git GitHub glob Google Colaboratory i18n Internship Jupyter Matplotlib Nginx OpenCV pandas PIL Pillow PostgreSQL psycopg2 PyCharm PyCon pyenv PyTorch Redis Rembg ReportLab requests S3 Selenium Sentry slack tqdm uWSGI venv Vue.js youtube


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

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    Show Comments (0)

    Comments

    Related Articles

    Django

    40分でUbuntu Nginx PostgreSQL Django Gunicornの環境構築

    40分でUbuntu Nginx PostgreSQL Django Gunicornの環境構築 VPSへのログイン(新規タブ) OSの初期設定(アップデート、アップグレード) 新規ユーザーを追加 新しく追加したユーザー […]

    Posted on by press
    AWS

    AWS LambdaとS3、SNSでファイルのアップロードを自動通知

    AWS LambdaとS3、SNSでファイルのアップロードを自動通知 AWS Lambdaは特定の条件を満たすときにサーバーレスでPython(他のプログラミング言語も)を実行できるサービスです。トリガーを検知したときや […]

    Posted on by press

    最新情報をお届けします!

    メーリングリストに登録するとファントムの最新情報をお届けします

    お客様のメールアドレスを共有することはありません