欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python编程羊车门问题代码示例

程序员文章站 2023-08-11 21:58:51
问题:   有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的...

问题:

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

请问:

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

答:第一感觉换与不换获奖几率没有发生变化。

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

答:

分析一:

假设:

一号门 二号门 三号门

玩家选一号门,换(得到车),不换(羊)
玩家选二号门,换(羊),不换(车)
玩家选三号门,换(车),不换(羊)

综上所述:玩家换得到车的概率为2/3,玩家不换得到车的概率为1/3。

分析二:

玩家选中车的概率为1/3,换得到车的概率为1/3*0=0。
玩家选中羊的概率为2/3,换得到车的概率为2/3*1=2/3。

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

答:

代码:

import random
x=random.randint(5000,10000)
change=0
nochange=0
for i in range(1,x+1):
  a=random.randrange(1,4)
  b=random.randrange(1,4)
  if a==b:
    nochange=nochange+1
  else:
    change=change+1
print("不更改选择得到汽车的概率为{}".format(nochange/x))
print("更改选择得到汽车的概率为{}".format(change/x))

运行结果:

不更改选择得到汽车的概率为0.33340982101881594
更改选择得到汽车的概率为0.666590178981184

总结

以上就是本文关于python编程羊车门问题代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:python中requests爬去网页内容出现乱码问题解决方法介绍python编程之requests在网络请求中添加cookies参数方法详解等,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!