学习Python中random模块,首先需要明了的一个函数就是设置随机数种子的方法random.seed()。
random模块使用Mersenne Twister算法来计算生成随机数。这是一个不确定性算法,但是可以通过random.seed()函数修改初始化种子。
seed括号中的数是计算机创建随机数的依据,确定数后(比如seed(1)),之后的所有随机操作都有确定性。
通俗理解就是:如果使用相同的seed()值,则每次生成的随即数都会是相同的。
seed()方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数使产生随机数一致。
import random
random.seed( [x] )
参数x是改变随机数生成器的种子seed。如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
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())