羊车门问题
羊车门问题
在完成本题之前,请仔细阅读下面内容:
题目描述:有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,然后允许参赛者更换自己的选择。
1、按照你的第一感觉回答,你觉得不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?
答:按照第一感觉认为选择不换选择能有更高的几率获得汽车。
2、请自己认真分析一下“不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?” 写出你分析的思路和结果。
答:参赛者从三扇门中选中门后是汽车的概率为1/3,即参赛者不换选择最终获得汽车的概率为1/3。当参赛者选中一扇门后,若该门后是汽车,更换后则无法获得汽车;若该门后是山羊,则在主持人开启另一扇门露出门后的山羊后,这时参赛者更换选择必获得汽车,因参赛者最初选中汽车的概率为1/3,所以在参赛者更换选择后获得汽车的概率为2/3。经过个人分析得到结果为:参赛者不换选择获得汽车的概率为1/3,而参赛者更换选择最终获得汽车的概率为2/3。所以,换选择的几率更高。
3、请设法编写程序验证自己的想法,验证的结果支持了你的分析结果,还是没有支持你的分析结果,请写出程序运行结果,以及其是否支持你的分析。(提示:可以借助随机数函数完成此程序)
答:编写程序后得到的结果如下图:

编写程序后验证的结果支持了我的分析结果,表明换选择获得汽车的几率大。
4、附上 Python 风格代码。
from random import * choice = 0 chaChoice = 0 for i in range(10000): #确定模拟参赛者参赛次数。 #利用随机函数randrange(),实现参赛者选择的门。 #randrange()函数的使用: #randrange(100,1001)随机返回100-1000中的整数。 door = randrange(1,4) #解释:当door=1,2,3时;分别表示参赛者选择第1,2,3扇门。 #同样,利用随机函数randrange(),随机决定第几扇门后面是car。 car = randrange(1,4) #解释:当car=1,2,3时;分别表示第1,2,3扇门后面是car。 #当参赛者选择不更改自己选择时,获得车也就是参赛者当初选择的门door与 #门后面是车的门的扇数car一致,即door == car if door == car: choice = choice + 1 #当参赛者选择更改自己选择时,经过分析可知,只要在当初参赛者选择的门door #与门后是车的扇数car不一致时,经过主持人打开门后是羊的门后,必获得车。 #转化成语言就是 door != car。 else: chaChoice = chaChoice + 1 print("参赛者不更改自己选择,获得汽车的概率为{:.2f}%".format(choice/100)) print("参赛者更改自己选择,获得汽车的概率为{:.2f}%".format(chaChoice/100))
浙公网安备 33010602011771号