我对random.seed()Python中的功能有些困惑。例如,为什么下面的试验(一致地)执行它们的工作?
random.seed()Python
>>> import random >>> random.seed(9001) >>> random.randint(1, 10) 1 >>> random.randint(1, 10) 3 >>> random.randint(1, 10) 6 >>> random.randint(1, 10) 6 >>> random.randint(1, 10) 7
我找不到关于此的好的文档。
伪随机数生成器通过对值执行某些运算来工作。通常,此值是生成器生成的先前编号。但是,第一次使用生成器时,没有先前的值。
播种伪随机数生成器会为其提供第一个“上一个”值。每个种子值将对应于给定随机数生成器的一系列生成值。也就是说,如果两次提供相同的种子,则两次获得相同的数字序列。
通常,您希望为随机数生成器添加一些值,这些值将更改程序的每次执行。例如,当前时间是经常使用的种子。之所以不会自动发生,是因为您可以根据需要提供特定的种子来获得已知的数字序列。