首页 > 其他 > 详细

羊车门作业(改)

时间:2018-11-28 16:53:59      阅读:146      评论:0      收藏:0      [点我收藏+]

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

答:第一感觉概率是一样的

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

答:分析结果:换的概率会更高

  分析过程:如果不换的话,则第一次选的结果就是最终结果,即1/3的概率;如果换的话,如果第一次选中车,则换之后选中的一定是羊,如果第一次选中的是羊,则换之后选中的一定是车,所以选中的概率是2/3.

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

4、第一个算法的代码运行结果与预期不符,按照老师说的改正之后依然出错,错误与之前一样

算法如下:

import random
yes=0
no=0
#不更换
##for i in range(10000):
##    car1=random.randint(1,3)
##    choose1=random.randint(1,3)
##    if car1==choose1:
##        yes=yes+1
##    else:
##        no=no+1
#更换
a=[1,2,3]
b=[]
c=[]
for i in range(10000):
    car2=random.randint(1,3)
    choose2=random.randint(1,3)
    for j in a:
        if car2!=j and choose2!=j:
            b.append(j)
    host=random.choice(b)       #choice函数返回列表中的随机值
    for k in a:
        if choose2!=k and host!=k:
            c.append(k)
    choose2=random.choice(c)
    if car2==choose2:
        yes=yes+1
    else:
        no=no+1
    
    
print(yes/10000)

第二个算法结果正确,算法如下:

import random
a=0
b=0
for i in range(10000):
    car=random.randint(1,3)
    choose=random.randint(1,3)
    if car==choose:
        a=a+1
    else:
        b=b+1
print(不换,概率为{}.format(a/10000))
print(换,概率为{}.format(b/10000))

 

羊车门作业(改)

原文:https://www.cnblogs.com/xiaoerduo00/p/10032713.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!