概述
生日悖论指如果一个房间里有23 或以上人,那么至少有两个人生日相同的 概率大于50%。编写程序,输出在不同随机样本数量下,23 个人中至少两个人生日相同的概率。
from random import randint
def list_birth():
list_birth=[]
for i in range(23):
x=randint(1,12)
if x in [1,3,5,7,8,10,12]:
y=randint(1,31)
elif x==2:
y=randint(1,28)
else:
y=randint(1,30)
list_birth.append((x,y))
return list_birth
#建立生日日期对的列表,这里也可以用365天来算
def set_birth():
set_birth=set(list_birth())
return set_birth
#转换成集合是为了去重,若集合长度小于23,则说明,有生日一样的日期被去掉了
def main(count):
n=0
for i in range(count):
list_birth()
set_birth()
if len(set_birth())<23:n=n+1
chance=n/count #计算去重的次数占总循环次数的比例,即概率
print("{:.2%}".format(chance))
main(10000)
最后
以上就是忧郁奇异果为你收集整理的python生日悖论_python 生日悖论概率计算。的全部内容,希望文章能够帮你解决python生日悖论_python 生日悖论概率计算。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复