羊车门问题
题目描述:有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,然后允许参赛者更换自己的选择。
作业要求如下,需在博文中回答如下问题,回答问题时,先复制题目,然后再换行书写答案:
1、按照你的第一感觉回答,你觉得不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?
答:几率没有发生变化
2、请自己认真分析一下“不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?” 写出你分析的思路和结果。
答:
第一次选择(得到车:1/3;得不到车:2/3);
第二次选择(得到车:1/2;得不到车:1/2)。
总体来说:得到车的概率是(1/3*1/2)*2=1/3,得不到车的概率是(2/3*1/2)*2=2/3。
3、请设法编写程序验证自己的想法,验证的结果支持了你的分析结果,还是没有支持你的分析结果,请写出程序运行结果,以及其是否支持你的分析。(提示:可以借助随机数函数完成此程序)
答:
需要验证多少次?10000
改变选择得到车的几率:0.3314
不改变选择得到车的几率:0.6686
>>>
需要验证多少次?100000
改变选择得到车的几率:0.33363
不改变选择得到车的几率:0.66637
>>>
需要验证多少次?1000000
改变选择得到车的几率:0.333206
不改变选择得到车的几率:0.666794
4、请附上你的代码。(提示:使用编辑器中的插入代码功能,将代码显示为 Python 风格)
代码如下:
import random TIMES = int(input("需要验证多少次?")) x=0 y=0 for i in range(1,TIMES+1): choice = random.randint(0,2) car = random.randint(0,2) if choice==car: x=x+1 else: y=y+1 print("改变选择得到车的几率:{}".format(x/TIMES)) print("不改变选择得到车的几率:{}".format(y/TIMES))