python – 为什么这似乎不是随机的?

我正在运行一个程序就像其中一个游戏人们试图猜测0到100之间的数字,其中有100个人在猜测.我然后平均了多少不同的猜测.

import random
def averager(times):
    tests=[]
    for i in range(times):
        l=[]
        for i in range(0,100):
            l.append(random.randint(0,100))
        tests.append(len(set(l)))
    return (sum(tests))/len(tests)

print(averager(1000))

出于某种原因,不同猜测的数量平均为63.6

这是为什么?是由于python随机库中的缺陷?

在人们猜测1到10之间的数字的情况下

第一个人有100%的几率猜测以前未被证实的数字

第二个人有90%的机会猜测以前未被提及的号码

第三个人有80%的几率猜测以前未被证实的数字

等等…

猜测一个新数字(通过我的推理)的平均机会是55%.
 但数据并未反映出这一点.

最佳答案 您的代码用于查找由100人组成的独特猜测的平均数量,每个人猜测1到100之间的数字.

至于它为什么会收敛到63左右的数字…你应该把你的问题发布到数学堆栈交换.

点赞