羊车门问题
作者:互联网
作业完成人:
学号: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