车羊门,羊车门,三门,亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论。不管哪个名字,都是讲述的一个问题,即:参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机率?如果严格按照上述的条件,即主持人清楚地知道,自己打开的那扇门后是羊,那么答案是会。不换门的话,赢得汽车的几率是1/3。换门的话,赢得汽车的几率是2/3。
这个问题的答案有一部分人认为是1/2,还有一部分认为是2/3。今天就想用python来测试并解决一下这个问题的答案到底是1/2还是2/3。
首先,import个随机函数randint。
from random import randint
用eval和input函数接收测试的次数num。
num = eval(input("请输入要测试的次数:")) #num次数越大结果越接近真实值
首先测试参赛者不更改自己的选择时选中车的情况
设置三个参数,并赋值初始值为0
a1,a2,a3 = 0,0,0 #a1,a2,a3分别为羊1羊2和车
for i in range(1,num+1):
people = randint(1,3) #模拟人随机选择一个门,并循环num次
if people =