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
python三门问题_如何用Python解决蒙特霍尔三门问题
最新推荐文章于 2024-02-03 18:46:16 发布