python - 随机种子() : What does it do?

我对 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

我找不到这方面的好文档。

最佳答案

伪随机数生成器通过对一个值执行一些操作来工作。通常,此值是生成器生成的先前数字。但是,第一次使用生成器时,没有以前的值。

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

通常,您希望在随机数生成器中植入一些值,该值会改变程序的每次执行。例如,当前时间是一个经常使用的种子。这不会自动发生的原因是,如果你愿意,你可以提供一个特定的种子来获得一个已知的数字序列。

https://stackoverflow.com/questions/22639587/

相关文章:

linux - 如何通过将其内存存储到磁盘并稍后恢复它来在 Linux 中 "hibernate"进

python - 在 Python 字符串中的最后一个分隔符上拆分?

python - 使用 argparse 需要两个参数之一

linux - Ubuntu - 在启动时使用 "sudo"运行命令

linux - 使用 unix 命令 "watch"的颜色?

python - 如何在 Windows 上运行多个 Python 版本

linux - gettimeofday() 是否保证为微秒级分辨率?

mysql - MySQL 服务器和 MySQL 客户端有什么区别

python - 如何让 python 的 pprint 返回一个字符串而不是打印?

linux - 内核栈和用户空间栈