概述
题目:
生日悖论分析。生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,计算并输出n个人(n从10到50)中至少有两个人的生日相同的概率。(不考虑闫年, 计算概率时,对每个n,均设定实验执行10000次,不允许直接计算出概率)
大致思路:
一年有365天,每次从中取出10天,如果有两个人数字相同,则在相同次数加一,最后除以1w次即可
由于是执行1w次实验,本题最后结果会有浮动,且每次运行代码结果不一样,但是大致概率在50.7%左右
from random import choice
#判断用人数是否合法
def people(n):
if (n > 50 or n < 10):
n = int(input("请重新输入人数:"))
n = people(n)
return n
n = int(input("请输入人数:"))
n = people(n)
sum = 0
for i in range(10000):
m = sum
list = []
for j in range(n):
k = choice(range(365))
list.append(k)
for j in range(n-1):
k = j+1
for k in range(j+1,n):
if(list[j] == list[k]):
sum = sum + 1
break
if(m != sum):
break
p = sum/10000
print(p)
最后
以上就是精明小笼包为你收集整理的生日悖论(python)的全部内容,希望文章能够帮你解决生日悖论(python)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复