代码改变世界

羊车门作业

2018-05-01 20:52  刘子扬  阅读(160)  评论(0编辑  收藏  举报

作业完成人:

学号:20171301006 刘子扬

学号:20171301038 刘佳祥

1、按照你的第一感觉回答,你觉得不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?

答:我们认为几率没有发生变化

2、请自己认真分析一下“不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?” 写出你分析的思路和结果。

答:首先,参赛者选择一扇门,选中车的概率为1/3,选中羊的概率为2/3,然后主持人打开一扇门,露出后面的羊,现在有两种可能性,

第一,参赛者最开始选的门后面是车,那么如果参赛者选择换,那一定会选中羊,那选中车的概率为1/3*0=0

第二,参赛者最开始选的门后面是羊,那么如果参赛者选择换,那一定会选中车,那选中羊的概率为2*3*1=2/3

综合这两种可能性,如果换的话,选中车的概率为2/3,比不换的概率要大

3、请设法编写程序验证自己的想法,验证的结果支持了你的分析结果,还是没有支持你的分析结果,请写出程序运行结果,以及其是否支持你的分析。(提示:可以借助随机数函数完成此程序)

答:0.6705 支持我的分析

4、请附上你的代码。(提示:使用编辑器中的插入代码功能,将代码显示为 Python 风格)

代码如下:

代码一:

from random import*
b=0
for i in range(10001):
    seq=[0,0,1]
    a=choice(seq)
    i=i+1
    if a==1:
        b=b+1
gl=(b/10000)
    
s=input()
if s=="":
    g=gl * 0+(1-gl) * 1
if s=="不换":
    g=gl * 1+(1-gl) * 0
print(g)
    

代码二:

from random import*
d=int(input())
b=input()
n=0
m=0
for i in range(d+1):
     seq=[0,1,1]
     a=choice(seq)
     if a == 0:
          n=n+1
     elif a == 1:
            m=m+1
if b == "":
     c=m/d
elif b == "不换":
     c=n/d
print(c)