蒙特卡罗——三门问题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

相关推荐
破茧蝴蝶8 小时前
Python分布式爬虫完整教程
开发语言·python
benchmark_cc8 小时前
量化系统架构设计:为什么应该将数据获取与策略逻辑解耦?
python·数据分析·pandas·量化交易·股票数据·quantdash
狗凯之家源码网8 小时前
全新 PHP 轻量客服聊天室源码深度评测
开发语言·php·聊天室系统
凤山老林8 小时前
Spring Boot 启动冲刺:耗时剖析、懒加载策略与事件驱动初始化优化
spring boot·后端·python
小白快快跑哦8 小时前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
远离UE48 小时前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
keyipatience8 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
Thinker QAQ8 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
道满科技9 小时前
Function Calling 参数总出错?只修参数就行
linux·windows·python
栈帧之外9 小时前
【C++】STL之set
开发语言·c++