经典羊车门问题

Posted on 2020-08-09 16:51  青柠2020  阅读(214)  评论(0)    收藏  举报

有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。

参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,

然后允许参赛者更换自己的选择。请问,选手在更换选择和不更换选择的情况下,哪个获得汽车的几率大?

import random
la = ["sheep", "sheep", "car"]
lb = ["car", "sheep", ]
dic1 = {}
dic2 = {}
k = n = 999988
# 验证不更换选择时获得汽车的概率:
while n:
player_choice = random.choice(la)
dic1[player_choice] = dic1.get(player_choice,0)+1
n-=1
for key, value in dic1.items():
if key == 'car':
print("不做改变,得到{}的概率是{:.3f}".format(key, value/k))

k = n = 999988
# 验证更换选择时获得汽车的概率:
while n:
player_choice1 = random.choice(la)
if player_choice1 == lb[0]:
player_choice2 = lb[1]
else:
player_choice2 = lb[0]
dic2[player_choice2] = dic2.get(player_choice2,0)+1
n-=1
for key, value in dic2.items():
if key == 'car':
print("若改变选择,得到{}的概率是{:.3f}".format(key, value/k))

 

### 获得结果 #####

不做改变,得到car的概率是0.334
若改变选择,得到car的概率是0.667
>>>

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3