我正在运行一个程序,就像那些游戏中的一个,就是人们尝试猜测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附近的数字...您应该将问题发布到数学堆栈交换中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句