美文网首页
用Python验证蒙蒂门概率问题

用Python验证蒙蒂门概率问题

作者: 何彪1973 | 来源:发表于2020-08-20 08:37 被阅读0次

    先给出结论:重新选择中小车的概率是2/3
    以下是代码:

    # encoding: UTF-8
    import random
    from random import choice, randint
    
    count = 1000000
    count_car = 0
    #以下列表中的值,1代表贵重的小汽车,2、3代表其它不值钱的东西
    for i in range(count):
        list = [1,2,3]
        first_select = random.choice(list)     #玩家第一次随机选择
        if first_select == 1:
            open_door = random.choice([2,3])   #如果玩家选择了1,主持人会随机打开2或者3
        elif first_select == 2:
            open_door = 3                      #如果玩家选择了2或者3,主持人会打开不是1的另外一个门
        else: 
            open_door = 2
    
        list.remove(first_select)              #放弃第一次选择的结果
        list.remove(open_door)                 #去掉已打开的门,剩下那个未被主持人打开的门
        second_select = list[0]             
        if second_select == 1:                 #统计二次选择中,成功获得小汽车的次数
            count_car = count_car + 1
    print(count_car)
    print(round(count_car/count,4))
    

    其实,可以这样思考:第一次选择时的A,中小车的概率是1/3,剩下B和C中有小车的概率是2/3,主持人帮我把B或者C中非小车的给排除了,那剩下的C或者B是小车的概率仍然是2/3。

    相关文章

      网友评论

          本文标题:用Python验证蒙蒂门概率问题

          本文链接:https://www.haomeiwen.com/subject/dzajjktx.html