python中生日悖论分析_python实现生日悖论分析
问题:生日悖论分析。生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在不同随机样本数量下,23个人中至少有两个人生日相同的概率。
import random
构建一个函数,利用集合的特点:集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。
如果列表lst转换成集合再转变成列表lst1后,如果lst和lst1的长度相同,说明23个人在本次样本中没有生日日期相同的;如果lst和lst1的长度不相同,len(lst)>len(lst1),说明23个人在本次样本中存在生日日期相同的同学。
def duplicate(lst):
lst1=set(lst)
if len(lst)>len(lst1):
return True
else:
return False
构造generate函数,这个函数每调用一次,便会创建一个新的列表birthday,列表birthday中的元素个数便是传入的参数numbers。最后,函数的返回值是生成的birthday列表。
random.randint(1,365):随机生成1~365之间的整数;
random.randrange(1,365,2):随机生成1~365之间的奇数;
random.uniform(1,365):随机生成1~365之间的浮点数。
def generate(numbers):
birthday=[]
for i in range(numbers):
birthday.append(random.randint(1,365))
return birthday
构造match函数,将学生的数量和样本的数量传入函数。样本数量越大,分析概率越准确。
def match(students,samples):
count=0
birthday=[]
for i in range(samples):
birthday=generate(students)
if duplicate(birthday):
count+=1
return count
students=23
simulations=100000
count=match(students,simulations)
rate=(float(count)/simulations)*100
print("rate is %f%%"%rate)
本代码根据输入的simulations,获得的概率,可以看出,概率稳定在0.5附近。
python中生日悖论分析_python实现生日悖论分析相关推荐
- python的用途实例-python中pass语句意义与作用(实例分析)
想必大家都是刚刚才开始接触python这门语言的,今天这篇文章就来带大家来了解一下python这门语言之中常常会用到的一个语句pass语句.想必大家都很好奇python中pass作用是什么,接下来我就 ...
- python中for循环缩进_Python减少循环层次和缩进的技巧分析
本文实例分析了Python减少循环层次和缩进的技巧.分享给大家供大家参考,具体如下: 我们知道Python中冒号和缩进代表大括号,这样写已经可以节省很多代码行数,但是可以更优化,尽可能减少循环的层次和 ...
- python中如何定义颜色_Python图像处理之颜色的定义与使用分析
本文实例讲述了Python图像处理之颜色的定义与使用.分享给大家供大家参考,具体如下: python中的颜色相关的定义在matplotlib模块中,为方便使用,这里给大家展示一下在这个模块中都定义了哪 ...
- python中max函数用法_Python中max函数用法实例分析
Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...
- python中write什么意思_python file write () 方法概括及作用分析(实例)
今天这篇文章我们来了解一下pythonwrite(),我会在这篇文章之中来讲解python中write方法以及pythonwrite属性而且还会将它能用在python编程之中的什么地方来进行说明.废话 ...
- python中while的用法_Python学习笔记之While循环用法分析
本文实例讲述了Python学习笔记之While循环用法.分享给大家供大家参考,具体如下: 前面一篇<Python学习笔记之For循环用法>详细介绍了Python for循环,这里再来讲述一 ...
- python中pass的含义_python中pass语句意义与作用(实例分析)
想必大家都是刚刚才开始接触python这门语言的,今天这篇文章就来带大家来了解一下python这门语言之中常常会用到的一个语句pass语句.想必大家都很好奇python中pass作用是什么,接下来我就 ...
- python中sleep函数用法_python中sleep函数用法实例分析
本文实例讲述了python中sleep函数用法.分享给大家供大家参考.具体如下: Python中的sleep用来暂停线程执行,单位为秒 #------------------------------- ...
- python中sleep的用法_python中sleep函数用法实例分析
本文实例讲述了python中sleep函数用法.分享给大家供大家参考.具体如下: Python中的sleep用来暂停线程执行,单位为秒 #------------------------------- ...
- python中random模块用法_Python中random模块用法实例分析
本文实例讲述了Python中random模块用法.分享给大家供大家参考.具体如下: import random x = random.randint(1,4); y = random.choice([ ...
最新文章
- 黄金矿工游戏demo
- 利用localStorage本地储存js文件
- vmware下找不到hgfs
- linux 远程权限不够,Eclipse连接远程Hadoop集群开发时权限不足问题解决方案
- SQL Server 2005中专用管理员连接 (DAC) 使用技巧修改系统表的方法
- Spring 环境搭建与IOC HelloWorld
- Google Chrome 最新市场份额
- 两个字符串 char* a, char* b,输出b在a中的位置次序。
- java中null+和null+null的深入理解
- Kinect unity三维重建
- Halcon 3D 1 读取3d数据
- Fabric共识机制
- 人工智能:神经网络与深度学习
- 【Unity】UI面板:倒计时器
- Python学习笔记7-函数
- 55ide游戏引擎(原赤兔引擎)教程1:认识引擎
- 近年来计算机的就业情况图表,巧用Excel函数实现动态图表的制作
- bbr是什么?有什么用?如何安装使用?
- PWN入门(3)覆盖堆栈上的变量
- UCF Local Programming Contest 2012(Practice)E. Pete's Pantry 【模拟】
热门文章
- APP下载域名链接在微信被封,被拦截该如何处理
- bootmgr快速修复win7_微软官方安装卸载修复工具、恶意软件删除工具,了解下!...
- python入门教程廖雪峰-Python 2.7教程
- javap命令使用示例
- 第一章 网络编程基础
- ChatGPT 相关资料收集
- 想请问各位有没有小红书自动发布编辑图文的软件
- CentOS6.5 部署***管理系统(StrongSwan+iKEv2+Freeradiu+Mysql+Daloradius)
- C语言基础之运算符、分支语句、循环语句、函数
- C语言 游戏 俄罗斯方块 最全代码 c入门必学