我对Python中的random.seed()
功能有点困惑。例如,为什么下面的试验要做他们所做的(一贯的)?
>>> 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
我找不到这方面的好文件。
Tags:
伪随机数生成器通过对值执行某些操作来工作。通常,此值是生成器生成的上一个数字。但是,第一次使用生成器时,没有先前的值。
为伪随机数生成器设定种子将为其提供第一个“previous”值。每个种子值将对应于给定随机数生成器的生成值序列。也就是说,如果两次提供相同的种子,则两次获得相同的数字序列。
通常,您希望为随机数生成器设定一些值,这些值将更改程序的每次执行。例如,当前时间是一个常用的种子。这种情况不会自动发生的原因是,如果需要,可以提供一个特定的种子来获取已知的数字序列。
你试试这个。假设'random.seed'为random value generator('random.randint()')提供了一个值,后者基于此种子生成这些值。随机数的一个必然特性是它们应该是可重复的。一旦你播下相同的种子,你就会得到相同的随机数模式。所以你从一开始就在生成它们。你给一个不同的种子,它以不同的开头(3以上)。
现在你已经给了一个种子,它将生成一个接一个1到10之间的随机数。所以你可以假设一个种子值有一组数字。
所有其他答案似乎都不能解释random.seed()的用法。 下面是一个简单的例子(source):
相关问题 更多 >
编程相关推荐