羊车门问题

作业完成人:

学号: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))

 

转载于:https://www.cnblogs.com/2294422096xu/p/10742084.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值