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


人気のタグ

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


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

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




    Show Comments (0)

    Comments

    Related Articles

    Python

    WindowsでPythonの仮想環境を構築

    WindowsでPythonの仮想環境を構築 Pythonで開発するときはMac版のPyCharmを使用しているので仮想環境も自動でPyCharmが構築してくれるのですが、Apple SiliconのMacでは動かないラ […]

    Posted on by press
    Python

    Pillowを使って画像をクロッピングする

    Pillowを使って画像をクロッピングする方法です。ソースコードはGitHubにあげています。 Pillowのインストール バージョン確認 ディレクトリ構造 画像をクロッピング files = glob.glob('./ […]

    Posted on by press