Python可复制的随机数:种子和状态
示例
设置特定的种子将创建固定的随机数序列:
random.seed(5) #创建固定状态 print(random.randrange(0, 10)) #获取0到9之间的随机整数 #出:9 print(random.randrange(0, 10)) #出:4
重置种子将再次创建相同的“随机”序列:
random.seed(5) #将随机模块重置为相同的固定状态。 print(random.randrange(0, 10)) #出:9 print(random.randrange(0, 10)) #出:4
由于种子是固定的,因此这些结果始终为9和4。如果不要求具有特定数字,则仅需使这些值相同就可以使用getstate并setstate恢复到先前的状态:
save_state = random.getstate() #获取当前状态 print(random.randrange(0, 10)) #出:5 print(random.randrange(0, 10)) #出:8 random.setstate(save_state) #重置为保存状态 print(random.randrange(0, 10)) #出:5 print(random.randrange(0, 10)) #出:8
要再次伪随机化序列,请seed使用None:
random.seed(None)
或seed不带任何参数的方法调用:
random.seed()