生日悖论分析

概率论中反直觉的悖论 概率论中有许多反直觉的悖论,它们挑战了人们的直觉思维,常常让人觉得结果与期望相反。 阅读详情

       生日悖论是指如果一个房间里有23个人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在不同随机样本数量下,23个人中至少两个人生日相同的概率。

 

思路:对于23个人中每个人的生日我们可以使用random库生成,然后把月份乘以100加上天处理成一个数字存储在列表中,之后利用集合元素的唯一性判断是否至少有两个元素相同。

具体代码如下:

from random import randint

def randbirth():  #产生随机生日
    mon = randint(1,12)
    if mon in [4,6,9,11]:
        day = randint(1,30)
    elif mon == 2:
        day = randint(1,28)
    else:
        day = randint(1,31)
    return mon*100+day

def judge():
    ls = []
    for i in range(23):  #产生23个随机生日
        ls.append(randbirth())
    if len(ls) != len(set(ls)):  #ls中至少有两个元素不相等
        return 1
    else:
        return 0

def main():
    try:
        cnt = 0;
        num = eval(input("请输入样本数量:"))
        for i in range(num):
            if judge() == 1:
                cnt += 1
        print("23个人中至少有两个人生日相同的概率是:{:.2f}%".format(cnt*100/num))
    except:
        print("输入有误!")

main()

 

Python关于生日悖论分析 生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在10000例随机样本数量下,n个人中至少两个人生日相同的概率。(n从10到50,不考虑闰年) 代码: import random import numpy as np import matplotlib.pyplot as plt #检测birthday中是否有同一天的生日 def same(bir... 阅读详情

相关推荐

生日悖论与概率分析:如何运用随机算法解答生日问题

生日悖论是一个有趣的概率现象,它指出在一个随机选择的人群中,至少有两人生日相同的概率,实际上比直觉上要高得多。这一现象与我们的日常经验相悖,因此被称为“悖论”。

笔者从事电信媒体开发多年,愿意将多年的开发经验分享给同行 2177

生日悖论(python)

题目: 生日悖论分析。生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,计算并输出n个人(n从10到50)中至少有两个人的生日相同的概率。(不考虑闫年, 计算概率时,对每个n,均设定实验执行10000次,不允许直接计算出概率) 大致思路: 一年有365天,每次从中取出10天,如果有两个人数字相同,则在相同次数加一,最后除以1w次即可 由于是执行1w次实验,...

dataocean的博客 1万+

使用概率分析与指示器随机变量解决生日悖论问题及C代码示例

在日常生活中,我们经常会遇到一些与概率相关的问题,其中生日悖论就是一个非常有趣且典型的例子。生日悖论指的是在一个随机选取的人群中,至少存在两个人生日相同的概率会随着人数的增加而迅速增长,即使当人数相对较少时,这个概率也会比人们直观感受的要高得多。这个现象之所以被称为“悖论”,是因为它与人们的直觉相悖,许多人会错误地认为需要很多人才能有较高的概率出现生日相同的情况。 本文将通过概率分析和指示器随机变量的方法,深入探讨生日悖论问题,并揭示其背后的数学原理。

笔者从事电信媒体开发多年,愿意将多年的开发经验分享给同行 1139

用python整个活(3)——生日悖论:birthday paradox

🏆一、前言 别问我为啥是详解3.5,问就是这个系列一直是跟着学习脚步来的,中间插一个。 也别问我为啥题目是英文,因为…高大上(bushi。 刷视频的时候偶然刷到了一个关于生日悖论的,当场就觉得不可思议,直到上网查了查…… 诶,怎么是真的? 这玩意儿居然还被设置到了密码攻击学,就很离谱的。 密码攻击我倒是没那个肝,就…检验一下这个悖论的合理性吧。 本文将会对生日悖论进行详细的讲解,写作不易,支持一下!(万年不变客套话) 🏆二、生日悖论是什么 可能有很多人不了解这个悖论,让我们先了解一下。

C_ygxb的博客 3115

爬虫-Playwright逆向小红书

【代码】爬虫-Playwright逆向小红书。

weixin_44201223的博客 2431

Linux云服务器上搭建《僵尸毁灭工程》私服全流程指南(避坑版)

本文详细介绍了在Linux云服务器上搭建《僵尸毁灭工程》私服的全流程指南,包括环境准备、SteamCMD安装、游戏服务器部署、内存优化配置及高级调优技巧。特别针对常见问题提供解决方案,帮助玩家快速搭建稳定的私服环境。

solidity8miner的博客 604

7-11 jmu-python-生日悖论

生日悖论,指如果一个房间里有23个或23个以上的人,那么至少有两个人的生日相同的概率要大于50%。尝试编程验证。使用从1到365的整数代表生日。测试n次,每次生成23个随机数,随机数的范围从1到365(包括365)。然后查看有无重复的生日。最后算出重复的比率。

wzj05467的博客 1102

电网渗透之终端安全

        电力系统安全不仅关系到电网的稳定运行,也关系到国家能源安全和国计民生,甚至关系到国家的安全和利益,电力系统由于结构复杂多样、分布广泛、重要性高,一旦系统瘫痪影响巨大,因此,极容易成为敌对势力攻击的首选目标。随着信息安全暴露面迅速增加,将给公司网络安全防线带来严峻挑战。       监控、保障这些电力系统安全运行变的尤为重要。内部安全防护产品有防火墙、纵向加密、反向隔离设备等...

guapi007008的博客 2722

python生日悖论分析_生日悖论

python生日悖论分析If you have a group of people in a room, how many do you need to for it to be more likely than not, that two or more will have the same birthday? 如果您在一个房间里有一群人,那么您需要多少个才能使两个或两个以上的人有相同的生日? ...

weixin_26713521的博客 2936

VSAN 虚拟机丢失排查与恢复完整方案

VSAN虚拟机(含vCenter)显示无效 检查存储状态:登录ESXi Host Client,确认VSAN存储是否挂载。 若未挂载,通过SSH执行 手动挂载。 验证文件存在:检查虚拟机文件是否完整。 解除文件锁定:删除残留的 .lck 文件 手动注册虚拟机:强制注册虚拟机配置文件。 检查VSAN健康:验证集群节点在线、磁盘组状态正常,并测试节点间网络。 修复元数据:针对损坏对象,谨慎执行修复。 终极恢复:若数据丢失,从备份还原或联系VMware支持,提交日志

sido777的博客 2686

嵌入式C开发必备:用Cursor规则搞定代码风格检查(附Pikachu项目实战)

本文以Pikachu开源项目为例,详细介绍了如何利用Cursor的AI代理规则系统,为嵌入式C开发项目配置一套完整的代码风格检查与规范执行方案。通过实战演示,指导开发者创建项目级规则,实现命名、格式、硬件抽象层及驱动开发的自动化规范,从而提升代码一致性、可维护性和团队协作效率。

weixin_29181861的博客 600

python中生日悖论分析_从生日悖论谈哈希碰撞

1 前言前几天和一个大佬交流了几个问题,其中一个关于ID生成的问题推展到了哈希冲突和一个与之相关的一个数学趣题生日悖论。当时对于两个事情的理解不够深刻,周末花时间仔细研究了一下,发现很有趣,于是觉得写一篇文章来和大家分享,今天的主题就是哈希冲突和生日悖论。通过本文你将了解到以下内容:哈希的映射压缩和冲突生日悖论CRC32的冲突分析2. 哈希映射压缩和冲突哈希的本质就是数学,简单来说哈希函数实现了各...

weixin_33515785的博客 1062

Python多版本共存指南:用CMD命令一键切换3.6和3.8解释器(含pip使用技巧)

本文详细介绍了在Windows CMD环境下实现Python多版本(如3.6和3.8)共存与一键切换的完整方案。通过文件重命名策略、环境变量优化和自定义脚本,开发者可快速切换Python解释器版本,并管理各版本独立的pip依赖库,确保项目环境隔离与兼容性。

weixin_29035405的博客 423

从生日悖论看概率分析的奇妙世界

《生日悖论:从数学原理到应用实践》摘要 生日悖论揭示了23人群体中出现相同生日的概率超过50%这一反直觉现象。文章首先通过组合数学推导了概率公式,证明当人数达到60时概率升至99%。随后用Python代码模拟验证了理论结果,展示模拟次数与结果精度的关系。在应用层面,重点分析了密码学中的生日攻击原理及其对哈希函数安全性的影响,同时探讨了数据抽样中防止重复样本的重要性。这一悖论不仅展示了概率与直觉的差异,更强调了数学思维在密码安全和数据分析等领域的实际价值。

大雨淅淅的博客 829

【论文复现】Applied Intelligence 2025:Auto-PU正例无标签学习的自动化实现与GPT-5.4辅助编程实战

正例-无标签学习(Positive-Unlabelled Learning, PU Learning)是机器学习领域处理"只有正例标签,负例完全未知"场景的重要技术。本文基于2025年发表于Applied Intelligence的最新研究成果,详细阐述如何从零复现Auto-PU框架(包含GA-Auto-PU、BO-Auto-PU、EBO-Auto-PU三种优化器)。

nmdbbzcl的博客 1390

Matlab 曲面平滑与点云处理

曲面平滑是一种常见的数学和计算机图形学技术,可以用来消除噪声、填补数据间隙,以及改善曲面的外观。在点云处理中,曲面平滑也被广泛应用于重建、拟合和可视化等领域。本文将介绍如何使用 Matlab 进行曲面平滑和点云处理,并提供相应的源代码。通过以上步骤,我们可以使用 Matlab 进行曲面平滑和点云处理。你可以根据具体需求调整参数和算法,以获得理想的曲面平滑效果。接下来,我们可以使用平滑算法对三角化的网格进行曲面平滑。以上代码将绘制原始点云和重建后的点云,并在图形中显示坐标轴和图例。表示平滑的迭代次数。

QfcaLinux的博客 753

python实现生日悖论分析

问题:生日悖论分析。生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在不同随机样本数量下,23个人中至少有两个人生日相同的概率。 import random 构建一个函数,利用集合的特点:集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。 如果列表lst转换成集合再转变成列表lst1后,如果lst和lst1的长度相同,说明23个人在本...

julac的博客 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

生日悖论分析python_生日悖论的模拟

引用Programming: The Birthday ParadoxThere's a parlor trick known as the Birthday Paradox where in any group of 23 or more people, chances are more than 50% that some two people have the same birthday. ...

weixin_39946500的博客 383

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

生日悖论分析python_python实现生日悖论分析

问题:生日悖论分析。生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在不同随机样本数量下,23个人中至少有两个人生日相同的概率。import random构建一个函数,利用集合的特点:集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。如果列表lst转换成集合再转变成列表lst1后,如果lst和lst1的长度相同,说明23个人在本次样本中...

weixin_39606638的博客 1173

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python中生日悖论分析_python实现生日悖论分析

问题:生日悖论分析。生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在不同随机样本数量下,23个人中至少有两个人生日相同的概率。import random构建一个函数,利用集合的特点:集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。如果列表lst转换成集合再转变成列表lst1后,如果lst和lst1的长度相同,说明23个人在本次样本中...

weixin_29668721的博客 2934

生日悖论分析python_Python关于生日悖论分析

生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在10000例随机样本数量下,n个人中至少两个人生日相同的概率。(n从10到50,不考虑闰年)代码:import randomimport numpy as npimport matplotlib.pyplot as plt#检测birthday中是否有同一天的生日def same(bir):for i...

weixin_39639049的博客 1027

生日悖论分析基于python

题目:生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在不同随机样本数量下,23个人中至少有两个人生日相同的概率。 基本思想:首先建立一个列表,遍历一年(按365天算)从中随机选出23个生日并将信息储存到列表中。然后利用set函数将列表生成一个新的集合。最后利用集合性质:集合中无重复元素。比较两序列长度,如果不相等,那说明23人中含有生日相同的两人。 import random def miss(num): flag=0 for i in

gsl_ly的博客 5730

生日悖论分析python_生日悖论列表是不典型的

我试图用Python解决生日悖论。我很接近,但最后一块让我不知所措。我使用random生成一个给定范围和数量的数字列表。这很管用。在然后我检查一个列表(上面生成的)是否有重复项。这很管用。在然后我尝试生成一个给定的(n)个列表。这就是我遇到麻烦的地方。它生成一个列表,然后返回“NoneType”is not iterable。让我困惑的是,这个列表是生成的,但是Python并没有把它看作一个列表。...

weixin_39623805的博客 353

python生日悖论分析_python 生日悖论概率计算。

生日悖论指如果一个房间里有23 或以上人,那么至少有两个人生日相同的 概率大于50%。编写程序,输出在不同随机样本数量下,23 个人中至少两个人生日相同的概率。from random import randintdef list_birth():list_birth=[]for i in range(23):x=randint(1,12)if x in [1,3,5,7,8,10,12]:y=ra...

weixin_33139275的博客 2536
上一篇: 7-11 Saving James Bond - Hard Version
下一篇: 7-9 旅游规划
弱爆了的雪饼
博客等级 码龄10年 76粉丝 70原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值