当前位置:首页>python>一点拙劣的python,一点朴素的实践

一点拙劣的python,一点朴素的实践

  • 2026-08-26 06:14:07
一点拙劣的python,一点朴素的实践
有这样一个案例(生日悖论):

在一个50人的班级中,至少两人生日相同的概率超过97%

概念与直觉反差

生日悖论是概率论中的一个反直觉现象,指出在一个人数不大的群体中,出现相同生日的概率远高于直觉预期。例如,23人中至少两人生日相同的概率约为50.7%,而60人时概率可达99.4%。多数人直觉认为需要接近183人(约半年人数)才能达到50%的概率,但实际人数远少于此。 

数学原理

计算“至少两人生日相同”的概率通常采用逆向思维:先计算所有人生日都不同的概率,再用1减去该概率。假设一年有365天,每个人生日独立且均匀分布,则n个人生日都不同的概率为:Q(n)=365/365×364/365×363/365×…×(365-n+1)/365=365!/(365^n×(365-n)!)于是至少两人生日相同的概率为:P(n) =1-Q(n)当n=50时,P(50)≈97.04%。随着人数增加,所有人生日都不同的概率呈指数下降,因此重复生日的概率迅速升高。


用编程验证一下?

Microsoft VS Code  启动!

*假设没有2.29生日的人

  • 验证 

  1. 导入模块

  2. 定义储存次数的变量

  3. 生成一个“50人的班级”

  4. 给每个人随机生成一个“生日”

  5. 检测这个“班级”里有没有同一天“生日”的人,如果有则次数+1并退出循环

  6. 对步骤“3.4.5.”重复执行1000000次

  7. 重复的次数/100000即可近似得到概率

 just like↓

 运行!

↑也就是说,在模拟的1000000个50人“班级”里,出现至少两人同一天生日的有970189个,概率近似97%,验证成功


  • 推广:生成“概率”关于“班级人数(1~365)”的函数图像

  1. 依旧导入模块

  2. 生成分别储存“班级人数”(自变量)和“概率”(因变量)的列表x,y

  3. 记班级人数为变量stu,其余步骤同“验证”环节

  4. 循环,stu分别取1~365,并给x,y添加相应值

  5. 输出并生成图像

just like↓

 运行!

 这是输出的x和y↓

 这是对应的图像↓


拙劣的python & 朴素的实践
完结撒花!

最新文章

随机文章