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 requests Selenium timedelta uWSGI venv


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




    Show Comments (0)

    Comments

    Related Articles

    Python

    Pythonでディレクトリ内のファイルを取得する

    globモジュールを使いディレクトリ内にあるファイルを取得する方法です。 ディレクトリ構造 まずはディレクトリ内のjpgを全て取得します。 directory = (os.getcwd())で現在のディレクトリのパスを取 […]

    Posted on by press
    Python

    Beautiful Soupでbrタグを改行コードに変換する

    Beautiful Soupでbrタグを改行コードに変換する Beautiful Soupでスクレイピングしたdivタグ内にbrタグがあった際に改行コードに変換する方法です。以下のコードはbrタグが複数ある場合にも対応し […]

    Posted on by press