羊车门问题python模拟

本文探讨了蒙提霍尔问题,通过穷举法分析了换门与不换门的胜率,并通过程序验证了换门策略能提高获奖概率。实验结果显示,换门的胜率确为三分之二。

题目描述:有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,然后允许参赛者更换自己的选择。

作业要求如下,需在博文中回答如下问题,回答问题时,先复制题目,然后再换行书写答案:

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

答:我感觉和买彩票是否中将一样,几率都是三分之一,没变化。


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

答:换 得?的几率更高。采用穷举法。假设有?1,?2,?。如果不换,中?的概率是三分之一。如果换,假设我们第一次选中的是?,剩下的是?1?2,主持人开一扇?门,我们换会得到?2;假设我们第一次选中的是?1,剩下?2,?,主持人开一扇?门,我们必定会换得?;假设我们第一次选到?2,情况与选到?1一样,所以,如果换的话,我们得? 的概率是三分之二。


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

答:程序运行结果如图所示,结果支持我的分析。

 


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

代码如下:

 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on Wed Nov 14 09:18:45 2018
 4 
 5 @author: kk
 6 """
 7 
 8 def unchange(car,choice):
 9     if car==choice:
10         return 1;
11     else:
12         return 0;
13 def change(car,choice):
14     if choice==car:
15         return 0;
16     else:
17         return 1;
18     
19 
20 import random
21 sum1=sum2=0;
22 a=[1,2,3]
23 for i in range(0,10000):
24     car=random.choice(a)
25     choice=random.choice(a)
26     if unchange(car,choice):
27         sum1=sum1+1
28     if change(car,choice):
29         sum2=sum2+1
30 print('共进行了10000次随机测试,结果如下:')
31 print('选择不换时,得车的次数为{},概率为{}'.format(sum1,sum1/10000))
32 print('选择换时,得车的次数为{},概率为{}'.format(sum2,sum2/10000))

 

转载于:https://www.cnblogs.com/ZXQian/p/10015461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值