羊车门问题
有3扇关闭的门,一扇门后停着汽车,另外两扇门后是山羊,主持人知道每扇门后是什么。参赛者首先选择一扇门。在开启它之前,主持人会从另外两扇门中打开一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后,能否增加猜中汽车的机会?请通过设计并编写程序验证,并给出自己的解释。答案要求以如下方式给出。
1、我认为会增加选中汽车的机会。
原因如下:
修改前的概率显而易见为1/3 修改后如果一开始选的是羊1,那么修改后一定选中车;开始选的是羊2,修改后也一定选中车;开始选的是车的话,修改后一定选种羊。所以修改后的概率为2/3
2、程序源代码如下(程序中应写好注释,便于教师或助教阅读代码):
from random import *
def once(doors = 3): # 一次事件的模拟
car = randrange(doors) # 一扇门后面停着汽车man = randrange(doors) # 参赛者预先选择一扇门return car == man # 参赛者是否最初就选择到车x = 0 # 维持选择赢得汽车的次数
y = 0 # 改变选择赢得汽车的次数 times = eval(input("请输入测试的次数:"))for i in range(times):
if once(): x += 1else: y += 1print("维持选择:",x/times*100,"%\n改变选择:",y/times*100,"%")
3、运行的验证结果如下: (请截图)
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.>>> ==== RESTART: C:/Users/Nacho/AppData/Local/Programs/Python/Python35/1.py ====请输入测试的次数:10000维持选择: 33.39 %改变选择: 66.61 %>>> ==== RESTART: C:/Users/Nacho/AppData/Local/Programs/Python/Python35/1.py ====请输入测试的次数:100000维持选择: 33.22 %改变选择: 66.78 %>>> ==== RESTART: C:/Users/Nacho/AppData/Local/Programs/Python/Python35/1.py ====请输入测试的次数:1000000维持选择: 33.4177 %改变选择: 66.5823 % >>>