其他分享
首页 > 其他分享> > 羊车门问题

羊车门问题

作者:互联网

作业完成人:

学号:20181004116,徐虎

 

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

答:几率没有发生改变

 

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

答:三扇门,一辆车,两只羊,选定一扇门后,主持人将开启一扇有羊的门。也就是说不管答题选手怎么选择,在主持人打开一扇有羊的门后,结果都会变成还有一扇有羊的门和一扇有车的门,那么从三扇门中选出有车的门就变成了从这两扇门中选出有车的门,所以几率不会发生改变

 

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

答:代码证明我是错的。。。。。。。。。。。。。。。

        没有修改答案的正确率为33%左右

        而修改了的答案正确率为67%左右

 

 

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

代码如下:

不修改:

import random
t=0
for i in range(100):
    x=random.randint(0,100)
    y=random.randint(0,100)
    z=random.randint(0,100)
    print("输入你认为的最大数(x/y/z)")
    m='x'
    if x>y and x>z:
        if m=='x':
            if (x+y+z)%2==0:
                print("y={}".format(y))
            else:
                print("z={}".format(z))
        elif m=='y':
            print("z={}".format(z))
        elif m=='z':
            print("y={}".format(y))
    elif y>x and y>z:
        if m=='y':
            if (x+y+z)%2==0:
                print("x={}".format(x))
            else:
                print("z={}".format(z))
        elif m=='x':
            print("z={}".format(z))
        elif m=='z':
            print("x={}".format(x))
    elif z>x and z>y:
        if m=='z':
            if (x+y+z)%2==0:
                print("y={}".format(y))
            else:
                print("x={}".format(x))
        elif m=='x':
            print("y={}".format(y))
        elif m=='y':
            print("x={}".format(x))
    if x>y and x>z and m=='x':
        t+=1
    elif y>z and y>x and m=='y':
        t+=1
    elif z>x and z>y and m=='z':
        t+=1
print("{}%".format(t))

 

修改:

import random
t=0
for i in range(100):
    x=random.randint(0,100)
    y=random.randint(0,100)
    z=random.randint(0,100)
    print("输入你认为的最大数(x/y/z)")
    m='z'
    if x>y and x>z:
        if m=='x':
            if (x+y+z)%2==0:
                print("y={}".format(y))
                m='z'
            else:
                print("z={}".format(z))
                m='y'
        elif m=='y':
            print("z={}".format(z))
            m='x'
        elif m=='z':
            print("y={}".format(y))
            m='x'
    elif y>x and y>z:
        if m=='y':
            if (x+y+z)%2==0:
                print("x={}".format(x))
                m='z'
            else:
                print("z={}".format(z))
                m='x'
        elif m=='x':
            print("z={}".format(z))
            m='y'
        elif m=='z':
            print("x={}".format(x))
            m='y'
    elif z>x and z>y:
        if m=='z':
            if (x+y+z)%2==0:
                print("y={}".format(y))
                m='x'
            else:
                print("x={}".format(x))
                m='y'
        elif m=='x':
            print("y={}".format(y))
            m='z'
        elif m=='y':
            print("x={}".format(x))
            m='z'
    if x>y and x>z and m=='x':
        t+=1
    elif y>z and y>x and m=='y':
        t+=1
    elif z>x and z>y and m=='z':
        t+=1
print("{}%".format(t))

 

标签:elif,format,random,else,问题,print,车门,100
来源: https://www.cnblogs.com/2294422096xu/p/10742084.html