一尘不染

Python-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

我找不到关于此的好的文档。


阅读 772

收藏
2020-02-20

共1个答案

一尘不染

伪随机数生成器通过对值执行某些运算来工作。通常,此值是生成器生成的先前编号。但是,第一次使用生成器时,没有先前的值。

播种伪随机数生成器会为其提供第一个“上一个”值。每个种子值将对应于给定随机数生成器的一系列生成值。也就是说,如果两次提供相同的种子,则两次获得相同的数字序列。

通常,您希望为随机数生成器添加一些值,这些值将更改程序的每次执行。例如,当前时间是经常使用的种子。之所以不会自动发生,是因为您可以根据需要提供特定的种子来获得已知的数字序列。

2020-02-20