蒙特卡罗——三门问题python代码实现

三门问题


b站李永乐老师讲解三门问题

python蒙特卡罗模拟

python 复制代码
#模拟三门问题
import random as rd
#n:模拟次数,m:中奖次数
n=100000
m=0
for i in range(n):
     #车位于的门号
   car=rd.randint(0,2)
   #人随机选择一个门
   door=rd.randint(0,2)
   #主持人展示空门
   empties={0,1,2}-{car,door}
   empty=rd.choice(list(empties))
   #换另一扇门
   choose=({0,1,2}-{door,empty}).pop()
   #判断是否中奖
   if choose==car:
       m+=1
p=m/n
print(f'中奖概率:{float(p):.2f}')

运行结果稳定在0.67,理论概率2/3

相关推荐
暮冬-  Gentle°几秒前
用Python批量处理Excel和CSV文件
jvm·数据库·python
m0_736914221 分钟前
服务器上pip install spacy卡住解决方法
开发语言·python
冰暮流星1 分钟前
javascript之回调函数
开发语言·前端·javascript
qq_417695054 分钟前
基于C++的区块链实现
开发语言·c++·算法
电商API_180079052475 分钟前
电商平台公开数据采集实践:基于合规接口的数据分析方案
开发语言·数据库·人工智能·数据挖掘·数据分析·网络爬虫
小陈工6 分钟前
2026年3月22日技术资讯洞察:数据库优化进入预测时代,网络安全威胁全面升级
java·开发语言·数据库·python·安全·web安全·django
2401_894241927 分钟前
基于C++的反射机制探索
开发语言·c++·算法
xyq202410 分钟前
ionic 单选框详解
开发语言
wWYy.15 分钟前
STL:map与unordered_map
开发语言·c++·stl
m0_7301151118 分钟前
用户认证与授权:使用JWT保护你的API
jvm·数据库·python