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

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

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

原因如下:

(1)不更换选择,那么选对汽车的概率为1/3;(2)更换选择,假设第一次选对了汽车,则概率为1/3 * 0 =0,假设第一次没选对汽车,则概率为2/3 * 1 = 2/3,总共的概率何为2/3.

2、程序源代码如下:

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 import random
 5 data=http://www.mamicode.com/{1:car,2:goat1,3:goat2}
 6 
 7 ‘‘‘更换选择后,猜中汽车的概率‘‘‘
 8 i=0
 9 probability1=0
10 while i<200:
11     num1=random.randint(1,3)
12     chosen1=data[num1]
13     if chosen1!=car:
14         probability1=probability1+1
15     i=i+1
16 print(‘更换选择猜中概率-> ,probability1/2,%)
17 
18 ‘‘‘不更换选择猜中汽车的概率‘‘‘
19 j=0
20 probability2=0
21 while j<200:
22     num2=random.randint(1,3)
23     chosen2=data[num2]
24     if chosen2==car:
25         probability2=probability2+1
26     j=j+1
27 print(‘不更换选择猜中概率-> ,probability2/2,%)

技术分享

技术分享

技术分享

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