我在Python中做什么random.seed()
有点困惑。例如,为什么下面的试验能够做到(一致)?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
我在这找不到很好的文档。提前致谢!
随机数字的生成不是真正的“随机”。它是确定性的,它产生的序列是由你传入“random.seed”的种子值决定的。通常你只需调用random.seed(),它使用当前时间作为种子值,这意味着每当你运行脚本时,你将得到不同的值序列。 –
将相同的种子传递给随机,然后调用它会给你相同的一组数字。这是按预期工作的,如果你希望每次你启动一个应用程序时(例如从/ dev/random或time的输出),每次你必须使用不同的结果,结果会不同。 –
种子是什么送到RNG产生第一个随机数。在那之后,他们RNG是自给自足的。由于这个原因,你并没有看到相同的答案。如果您再次运行此脚本,您将获得相同的“随机”数字序列。如果您想重现结果,设置种子会很有帮助,因为所有生成的“随机”数字总是相同的。 – Blink