蒙蒂霍尔悖论游戏
本文最后更新于 198 天前,其中的信息可能已经有所发展或是发生改变。

题目简介:

· 参赛者在三扇门(两🐏一🚗)中挑选一扇(最后门后是🚗,参赛者获胜)。他并不知道内里有什么。

· 主持人知道每扇门后面有什么。

· 主持人必须开启剩下的其中一扇门,并且必须提供换门的机会。

· 主持人永远都会挑一扇有山羊的门。

o 如果参赛者挑了一扇有山羊的门,主持人必须挑另一扇有山羊的门。

o 如果参赛者挑了一扇有汽车的门,主持人随机(概率均匀分布)在另外两扇门中挑一扇有山羊的门。

· 参赛者会被问是否保持他的原来选择,还是转而选择剩下的那一道门。

题目解析:

有三种可能的情况:

· 参赛者挑汽车,主持人挑两头羊的任何一头。转换将失败。

· 参赛者挑A羊,主持人挑B羊。转换将赢得汽车。

· 参赛者挑B羊,主持人挑A羊。转换将赢得汽车。

在游戏方面来看,选择转换,转换后获胜的概论是2/3.

代码部分:

from random import randrange
from socket import MsgFlag
from unittest import result


def init():
    #返回一个字典,键为3个门号,值为门号后面的物品
    result = {i: 'goat' for i in range(1,4)}
    r = randrange(1,4)                                                               #nn nrandrange() 方法返回指定递增基数集合中的一个随机数,基数默认值为1。
    result[r] = 'car'
    return result
def starGame():
    #获取本次游戏中每个门的情况
    doors = init()
    #print(doors)
    #获取玩家选择的门号
    while True:
        try:
            firstDoorNum = int(input('Choose a door to open:'))
            assert 1 <= firstDoorNum <= 3
            break
        except:
            print('Door number must be between 1-3')         # format() 方法格式化指定的值,并将其插入字符串的占位符内。
    #主持人查看另外两个门后面的物品情况
    for door in doors.keys()-{firstDoorNum}:
        #打开其中一个后面为山羊的门
        if doors[door] == 'goat':
            print('"goat"behind the door', door)
            #获取第三个门号,让玩家纠结
            thirdDoor = (doors.keys()-{door, firstDoorNum}).pop()
            msg = 'Do you want to switch to {} ?(y/n)'.format(thirdDoor)
            change = input(msg)
            if change == 'y':
                finalDoorNum = thirdDoor
            else:
                finalDoorNum = firstDoorNum
            if doors[finalDoorNum] == 'goat':
                return 'I Win !'
            else:
                return 'You Win ! '
print(starGame())

结果展示:

蒙蒂霍尔悖论游戏 : http://116.62.240.154:9520/nidihuoerbeilun/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇