有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,然后允许参赛者更换自己的选择。
请问:
1、按照你的第一感觉回答,你觉得不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?
答:不换选择能有更高几率获得汽车
2、请自己认真分析一下“不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?” 写出你分析的思路和结果。
答:设羊1,羊2,车3,
不换选择,success0=1/3
换选择,当第一次选择1或2,公布一只羊后,一旦更换,就是汽车,success1=2/3;当第一次选车,公布一只羊后,一旦更换,就是羊,失败。
所以换选择能有更高几率2/3获得汽车
3、请设法编写程序验证自己的想法,验证的结果支持了你的分析结果,还是没有支持你的分析结果,请写出结果。(提示:可以借助随机数函数完成此程序)
答:
1参赛者确定不更换选择:
此时成功概率0.3293.
2参赛者确定更换选择:
此时成功概率0.6688
3参赛者判断是否更换选择:
此时成功概率0.4917
4、请附上你的代码。(提示:使用编辑器中的插入代码功能,将代码显示为 Python 风格)
代码如下:
1 #其中羊1,羊2,汽车对应的门号为1,2,3;更换选择的结果success1,success2,1/3比较。 2 from random import * 3 i,j=1,0 4 seq1=[1,2,3] 5 seq2=[1,2] 6 seq3=[2,3] 7 seq4=[1,3] 8 #情况1 9 print("1参赛者确定不更换选择:") 10 while i<10001: 11 a=choice(seq1) 12 if a==3: 13 j+=1 14 i+=1 15 success0=j/10000 16 print("此时成功概率{}.". format(success0)) 17 #情况2 18 print("2参赛者确定更换选择:") 19 i,j=1,0 20 while i<10001: 21 a=choice(seq1) 22 if a==1: 23 a=3 24 elif a==2: 25 a=3 26 else : 27 zhuchi=choice(seq2) 28 if zhuchi==1: 29 a=2 30 else : 31 a=1 32 i+=1 33 if a==3: 34 j+=1 35 success1=j/10000 36 print("此时成功概率{}". format(success1)) 37 #情况3 38 i,j=1,0 39 print("3参赛者判断是否更换选择:") 40 while i<10001: 41 a=choice(seq1) 42 if a==1: 43 a=choice(seq4) 44 elif a==2: 45 a=choice(seq3) 46 else : 47 zhuchi=choice(seq2) 48 if zhuchi==1: 49 a=choice(seq4) 50 else : 51 a=choice(seq3) 52 i+=1 53 if a==3: 54 j+=1 55 success2=j/10000 56 print("此时成功概率{}". format(success2))
浙公网安备 33010602011771号