''' 1、我认为会增加选中汽车的机会。 原因如下:如果不更改选择就是三个中选择一个,选中汽车的概率是1/3,如果更改选项的话,那就是认为自己原来的选项是不正确的,主持人 已经排除了一个错误选项,所以只剩下一个选项可以选择,认为自己原来的选项不正确,这样的概率是2/3,所以更改选项后选中汽车的机会增加了。 2、源代码如下: ''' import random n=0 a=input("请输入模拟次数:") a=eval(a) for i in range(a): tar=random.random() tar=tar*3//1+1 #print (tar) cho=random.random() cho=cho*3//1+1 if tar==cho: n+=1 c=n/a d=1-c print ("不更改选择的获得汽车的概率:{},更改选择获得汽车的概率:{}".format(c,d))
上面是依据条件概率的相关理解编写的程序,下面是根据过程编写的程序;
import random n=eval(input ("请输入模拟次数:")) n1=0 #猜中汽车的次数 b=eval (input ("请输入猜测的号码:")) cho=input("请输入是否更改选择:(y or n)") for i in range(n): a1=(random.random())*3//1+1 #汽车所在的门的序号 while True: a2=(random.random())*3//1+1 #给出一个门后是羊的提示 if a2==a1: continue elif a2==b: continue else: break if cho=="y": #更改自己的选择 while True: b1=(random.random())*3//1+1 if b1==b or b1==a2: continue else: break b=b1 if b==a1: n1+=1 c=n1/n if cho=="y" : print ("更改选择后的概率为:{}".format(c)) else: print ("改变选择后的概率为:{}".format(c))