python三门问题_如何用Python解决蒙特霍尔三门问题

import randomdef MontyHall(Dselect, Dchange):Dcar = random.randint(1,3)if Dselect == Dcar and Dchange == 0:return 1elif Dselect == Dcar and Dchange == 1:return 0elif Dselect != Dcar and Dchange == 0:return 0else:return 1# 不确定是否改变选择def test1(N):win = 0for i in range(N):Dselect = random.randint(1,3)Dchange = random.randint(0,1)win = win + MontyHall(Dselect, Dchange)print(float(win)/float(N))# 确定不改变选择def test2(N):win = 0for i in range(N):Dselect = random.randint(1,3)Dchange = 0win = win + MontyHall(Dselect, Dchange)print(float(win)/float(N))# 确定改变选择def test3(N):win = 0for i in range(N):Dselect = random.randint(1,3)Dchange = 1win = win + MontyHall(Dselect, Dchange)print(float(win)/float(N))N = 10000print("不确定是否改变选择概率:")test1(N)print("确定不改变选择概率:")test2(N)print("确定改变选择概率:")test3(N)12345678910111213141516171819202122232425262728293031323334353637383940414243444546471234567891011121314151617181920212223242526272829303132333435363738394041424344454647

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值