Pythonのランダムモジュールの一般的な関数/メソッド(1)-random.seed()

Pythonでランダムモジュールを学習するには、最初に理解する必要のある関数は、乱数シード設定するメソッドrandom.seed()です。

(1)random.seed()関数の理解

ランダムモジュールは、メルセンヌツイスターアルゴリズムを使用して乱数を計算および生成します。これは不確定なアルゴリズムですが、初期化シードはrandom.seed()関数を使用して変更できます。
シード括弧内の数値は、コンピューターが乱数を作成するための基礎となります。数値が決定された後(seed(1)など)、後続のすべてのランダム操作は決定論的です。

一般的な理解は次のとおりです。同じseed()値が使用される場合、毎回生成される乱数は同じになります。

(2)random.seed()関数を使用する場合

seed()メソッドは、乱数ジェネレーターのシードを変更します。他の乱数モジュール関数呼び出す前にこの関数呼び出して、乱数の一貫性を保つことができます。

(3)文法

import random
random.seed( [x] )

パラメータxは、乱数ジェネレータのシードを変更するためのものです。この値が設定されていない場合、システムは時間に応じてこの値を自動的に選択します。このとき、時間差により、毎回生成される乱数が異なります。

(4)例

import random

# 不设置参数值时,产生的随机数是不一样的
random.seed()
print('不设置参数值1:',random.random())
random.seed()
print('不设置参数值2:',random.random())

# 设置参数值为1,产生的随机数一样
random.seed(1)
print('设置参数值1:',random.random())
random.seed(1)
print('设置参数值2:',random.random())
random.seed(1)
print('设置参数值3:',random.random())

# 改变参数值为2,产生的随机数也会发生变化
random.seed(2)
print('改变参数值1:',random.random())
random.seed(2)
print('改变参数值2:',random.random())

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_45154565/article/details/114915430