我对 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 字符串中的最后一个分隔符上拆分?
linux - Ubuntu - 在启动时使用 "sudo"运行命令
linux - 使用 unix 命令 "watch"的颜色?
python - 如何在 Windows 上运行多个 Python 版本
linux - gettimeofday() 是否保证为微秒级分辨率?
mysql - MySQL 服务器和 MySQL 客户端有什么区别