首页 > 代码库 > 羊车门问题

羊车门问题

问题:有3扇关闭的门,一扇门后停着汽车,另外两扇门后是山羊,主持人知道每扇门后是什么。参赛者首先选择一扇门。在开启它之前,主持人会从另外两扇门中打开一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后,能否增加猜中汽车的机会?请通过设计并编写程序验证,并给出自己的解释。答案要求以如下方式给出。

解答:我认为会增加选中汽车的概率。

原因如下:若不更换选择,则选手猜中汽车的概率为1/3;若更换选择,如果第一次选择的羊1,更换选择猜中汽车的概率为1/3;如果第一次选择的是羊2,更换选择猜中汽车的概率为1/3;如果第一次选择的是汽车,更换选择后猜中汽车的概率为0,所以更换选择,选手猜中汽车的概率为2/3.

程序源代码如下:

import random
x=eval(input("请输入模拟次数:"))
car = 0
car1 = 0

for i in range (1,x+1):
    a = random.randrange(1,4)
    b = random.randrange(1,4)

    if a==b:
        car1 = car1+1
    elif a!=b:
        car = car+1
print("更改后选中汽车的概率为",car/x)
print("不改选中汽车的概率为",car1/x)

运行的验证结果如下:

技术分享

 

羊车门问题