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