Jim*_*Jim 6 python random python-3.x
我有一个脚本可以生成 2 到 12 之间的 10 个随机数:
repetition = 10
while repetition > 0:
print(random.randint(2,12))
repetition = repetition - 1
Run Code Online (Sandbox Code Playgroud)
当执行此代码时,会生成 10 个随机数,但每次执行该代码时都会生成相同的 10 个随机数。即使我在不同的计算机上运行代码也会发生这种情况!
小智 3
您应该了解的第一件事是计算机生成的随机数并不是真正随机的。为了生成伪随机数,计算机使用一个函数根据先前的值生成一个数字(更多详细信息请参见https://en.wikipedia.org/wiki/Random_number_ Generation)。伪随机数的序列取决于传递给该函数的第一个值,称为种子。
默认情况下,在Python 的 random 模块使用的Random类构造函数 ( __init__) 中,种子由操作系统定义。这通常基于当前系统时间。如果您使用该函数定义了自己的种子,random.seed您的结果将是确定性的。在这种情况下,您将始终获得相同的值。
| 归档时间: |
|
| 查看次数: |
24839 次 |
| 最近记录: |