第三骗:羊车门问题

羊车门问题

有3扇关闭的门,一扇门后停着汽车,另外两扇门后是山羊,主持人知道每扇门后是什么。参赛者首先选择一扇门。在开启它之前,主持人会从另外两扇门中打开一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后,能否增加猜中汽车的机会?请通过设计并编写程序验证,并给出自己的解释。答案要求以如下方式给出。

1、我认为 会 增加选中汽车的机会。 

原因如下:

在不更改选择时,参赛者选中车的概率为1/3,在更改选择的情况下,如果第一次选择了羊1,更改后选择车,第一次选择羊2,更改后选择车,第一次选择车,更改后选择任意羊,有2/3的概率选中车

2、程序源代码如下:

 

 1 from time import clock
 2 from random import randint
 3 
 4 num = eval(input("请输入要测试的次数:"))
 5 print()
 6 clock()
 7 
 8 #首先测试参赛者不更改自己的选择时选中车的情况
 9 a1,a2,a3 = 0,0,0 #a1a2a3分别为羊1羊2和车
10 
11 for i in range(1,num+1):
12     people = randint(1,3)
13     if people == 3:
14         a3 = a3 + 1
15     elif people == 1:
16         a1 = a1 + 1
17     else:
18         a2 = a2 + 1
19 
20 print("不更改选择时选中车的概率为:{}".format(a3/num))
21 print("不更改选择时选中羊1号的概率为:{}".format(a1/num))
22 print("不更改选择时选中羊2号的概率为:{}".format(a2/num))
23 print()
24 
25 #测试更改选择时选中车的情况
26 a1,a2,a3 = 0,0,0 
27 
28 for i in range(1,num+1):
29     people = randint(1,3)
30     if people == 1:#如果第一次选择羊1号,羊2号会被主持人打开,参赛者改选车
31         a3 = a3 + 1
32     elif people == 2:#第一次选择羊2号,参赛者同样会改为车
33         a3 = a3 + 1
34     else :#如果第一次选择了车,参赛者会改为羊1号或羊2号
35         if randint(1,2) == 1:
36             a1 = a1 + 1
37         else :
38             a2 = a2 + 1
39 
40 print("更改选择时选中车的概率为:{}".format(a3/num))
41 print("更改选择时选中羊1号的概率为:{}".format(a1/num))
42 print("更改选择时选中羊2号的概率为:{}".format(a2/num))
43 print()
44 print("运行时间是:{:5.5}s".format(clock()))

 

3、运行的验证结果如下:

 

 

转载于:https://www.cnblogs.com/tian0321/p/6667804.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值