如果在循环中运行python随机函数,100/数千个数字会重复吗?我知道播种是如何工作的

如果在循环中运行python随机函数,100/数千个数字会重复吗?我知道播种是如何工作的,python,Python,如果不需要任何特定的值范围,可以在每次迭代中添加i变量,以确保​​没有重复。但是如果你使用随机变量,那就没有多大意义了 否则,每次迭代都可以毫无问题地重复,这就是随机的含义 for I in range(100): print(random()) # everything being imported and using the system time as seed. # is it possible to get repeating rando

如果不需要任何特定的值范围,可以在每次迭代中添加i变量,以确保​​没有重复。但是如果你使用随机变量,那就没有多大意义了

否则,每次迭代都可以毫无问题地重复,这就是随机的含义

for I in range(100):
    print(random()) # everything being imported and using the system time as seed.
                    # is it possible to get repeating random values? 
根据报告:

几乎所有模块函数都依赖于基本函数,该函数在半开放范围内均匀地生成随机浮点[0.0,1.0.Python使用Mersenne Twister作为核心生成器。它产生53位精度浮点,周期为2**19937-1。C中的底层实现既快速又线程安全。Mersenne Twister是现有测试最广泛的随机数生成器之一。但是,由于完全确定性,它不是s适用于所有目的,完全不适用于加密目的


这意味着在每次迭代中都有可能得到相同的值。但可能性太小了。

是的,这就是随机的意思。也就是说,我相信你可以在某个地方查找重复性特征。即使有两次调用,你也可以得到重复性。天哪,随机……是的,很有意义。将I添加到随机中如何确保这些值不会重复吗?随机+i不是和均匀分布中的随机值一样吗?不,因为随机值只返回0到1之间的值。这种可能性有多小?我想知道,因为你引用了关于Mersenne Twister的全部内容。嗯,我无法计算它,但如果你真的想知道,我建议你检查一下而且。Mersenne Twister是一种确定性算法,生成32位或64位数字,因此可用作随机位的源。这意味着生成的数字的大小有限。还可以查看Mersenne Twister的概述,以获得摘要信息。
import random

for i in range(100):
    print(random.random() + i)