有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))

 

 

 

posted on 2017-10-14 18:40  gurgles  阅读(489)  评论(0)    收藏  举报