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

问题:

  有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参数方法详解等,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

(0)

相关推荐

  • python实现分页效果

    本文实例为大家分享了python实现分页效果展示的具体代码,供大家参考,具体内容如下 难点:清空Layout #!/usr/bin/python #-*-coding:utf-8-*- from PyQt4.QtCore import * from PyQt4.QtGui import * class PageWidget(QWidget): def __init__(self,parent=None): super(PageWidget,self).__init__(parent) self.

  • Python探索之修改Python搜索路径

    当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块.可以通过sys.path查看这些路径,比如: >>> import sys >>> sys.path ['', '/usr/lib/python2.7/site-packages/demo_nova_hooks-5-py2.7.egg', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/p

  • python中requests使用代理proxies方法介绍

    学习网络爬虫难免遇到使用代理的情况,下面介绍一下如何使用requests设置代理: 如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求: import requests proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080", } requests.get("http://examp

  • python编程之requests在网络请求中添加cookies参数方法详解

    哎,好久没有学习爬虫了,现在想要重新拾起来.发现之前学习爬虫有些粗糙,竟然连requests中添加cookies都没有掌握,惭愧.废话不宜多,直接上内容. 我们平时使用requests获取网络内容很简单,几行代码搞定了,例如: import requests res=requests.get("https://cloud.flyme.cn/browser/index.jsp") print res.content 你没有看错,真的只有三行代码.但是简单归简单,问题还是不少的. 首先,这

  • 启动targetcli时遇到错误解决办法

     启动targetcli时遭遇ImportError: cannot import name ALUATargetPortGroup故障 targetcli是一个iSCSI配置管理工具,该工具简单易用,可以直接替换scsi-target-utils.满心欢喜的装上它,正准备一睹为快,就杯具了.报错ImportError: cannot import name ALUATargetPortGroup.下面就这针对这个错误的解决方案. 一.故障现象 当前环境 [root@centos7-router

  • Python_LDA实现方法详解

    LDA(Latent Dirichlet allocation)模型是一种常用而用途广泛地概率主题模型.其实现一般通过Variational inference和Gibbs Samping实现.作者在提出LDA模型时给出了其变分推理的C源码(后续贴出C++改编的类),这里贴出基于Python的第三方模块改写的LDA类及实现. #coding:utf-8 import numpy as np import lda import lda.datasets import jieba import co

  • python中requests爬去网页内容出现乱码问题解决方法介绍

    最近在学习python爬虫,使用requests的时候遇到了不少的问题,比如说在requests中如何使用cookies进行登录验证,这可以查看这篇文章.这篇博客要解决的问题是如何避免在使用requests的时候出现乱码. import requests res=requests.get("https://www.baidu.com") print res.content 以上就是使用requests进行简单的网页请求数据的方式.但是很容易出现乱码的问题. 我们可以通过在网页上右击查看

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

    问题: 有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么.参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,然后允许参赛者更换自己的选择. 请问: 1.按照你的第一感觉回答,你觉得不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化? 答:第一感觉换与不换获奖几率没有发生变化. 2.请自己认真分析一下"不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?" 写出

  • Python编程super应用场景及示例解析

    目录 一.什么是super 三.super的常用使用场景 一.什么是super 1.super也是一个类,是的.他不是一个方法也不是一个内置的关键字. class A: pass print(type(super(A))) 输出结果 <class 'super'> 直接通过查看super的源码也可以看出它是一个类 另外,网上很多文章讲解super就是用来调用父类方法的,这也是一个错误的观点! 假如我们有下面这样一个例子: class A: def __init__(self): print(&

  • Java编程之继承问题代码示例

    课堂练习: –在包bzu.aa中定义一个交通工具类(Vehicle): 1.属性--载客量(capacity) 2.方法 (1)无参构造方法(给capacity初始化值为2,并输出"执行交通工具类的无参构造方法.") (2)有参构造方法(传参给capacity初始化,并输出"执行交通工具的有参构造方法.") (3)capacity的set.get方法 (4)print方法:输出capacity –在包bzu.aa中定义一个汽车类(Car)继承交通工具类: 1.属性-

  • Java编程实现帕斯卡三角形代码示例

    源程序揭秘 杨辉三角形性质: 每行数字左右对称,由 1 开始逐渐变大,然后变小,回到 1. 第 n 行的数字个数为 n 个. 第 n 行数字和为 2^(n-1) . 每个数字等于上一行的左右两个数字之和.可用此性质写出整个杨辉三角形. 第 n 行的第 1 个数为 1,第二个数为 1× (n-1) ,第三个数为 1× (n-1) × ( n-2) /2,第四个数为 1× (n-1) × (n-2) /2× (n-3) /3-依此类推. 算法原理1: 使用一个二维数组 yh[][] 存储杨辉三角形的

  • python绘制简单折线图代码示例

    1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt.plot(x,y) plt.savefig("easyplot.jpg") 结果如下: 代码解释: #x轴,y轴 x=[0,1] y=[0,1] #创建绘图对象 plt.figure() #在当前绘图对象进行绘图(两个参数是x,y轴的数据) plt.plot(x,y) #保存图象 plt

  • Java编程实现直接插入排序代码示例

    算法描述:对于给定的一个数组,初始时假设第一个记录自成一个有序序列,其余记录为无序序列.接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直至最后一个记录插入到有序序列中为止. 直接插入排序Java实现教程 示例1 public class Insert { public static void main(String[] args) { int a[] = {9,3,28,6,34,7,10,27,1,5,8}; show(a); for (int i=1;i

  • python使用logging模块发送邮件代码示例

    logging模块不只是能记录log,还能发送邮件,使用起来非常简单方便 #coding=utf-8 ''''' Created on 2016-3-21 @author: Administrator ''' import logging, logging.handlers class EncodingFormatter(logging.Formatter): def __init__(self, fmt, datefmt=None, encoding=None): logging.Format

  • selenium python浏览器多窗口处理代码示例

    本文主要研究的是selenium python浏览器多窗口处理的相关内容,分享了操作实例代码,具体如下: #!/usr/bin/python # -*- coding: utf-8 -*- __author__ = 'zuoanvip' #在测试过程中有时候会遇到出现多个浏览器窗口的情况,这时候我们可以通过窗口的句柄来操作不同窗口的元素 from selenium import webdriver import os import time driver =webdriver.Firefox()

  • Python编程求质数实例代码

    本文研究的主要是Python编程求质数实例,选取了几个数进行了测试,具体如下. 定义:质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数. 我们知道自然数(除了0和1以外)都可以写成几个质数相乘再乘以一的格式,所以我们可以用以个数去试一试看看它能否将小于它的质数整除. 首先我们创建一个空的list,然后我们知道2是最小的质数,于是我们把2添加进这个空白的list,之后我们开始循环,第一个数从3开始,用3除以小于3的质数,没有小于它的质数能被它整除,

  • python编程嵌套函数实例代码

    python,函数嵌套,到底是个什么东东? 很少有人用,但是,有时确实会用: def multiplier(factor): def multiplyByFactor(number): return number*factor return multiplyByFactor python程序,一个函数在另外一个函数的里面,外层的函数返回的是里层函数.也就是函数本身被返回了,返回的是函数(听起来和C语言的一些东东相似). 注意,返回的函数还可以访问它的定义所在的作用域,也就是它带着它的环境信息奥.

随机推荐