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

标签 python random random-seed

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

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

最佳答案

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

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

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

关于python - 随机种子() : What does it do?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22639587/

相关文章:

python - Python 中 numpy.random 和 random.random 的区别

java - java.util.Random 真的那么随机吗?我怎样才能生成52! (阶乘)可能的序列?

python - 正则表达式中重复限定符被忽略

python - 如何转义通过用户输入收到的 latex 代码?

java - 如何生成一个范围内的随机数但排除一些?

php - 随机 MySQL 行,同时避免漏洞

c++ - 为 C++ 类播种 rand()

Python-Pandas : How to sort a pivot table maintaining one column grouped

android - Monkeyrunner 脚本不运行,但命令有效

php - 以同样的方式打乱2个php数组