我编写了一个Python脚本来测试Monty Hall Problem 我的问题是,代码似乎输出了30%的胜利和60%的失败,而它应该做相反的事情
from random import randint
wins = 0
losses = 0
for i in range(1000):
correctDoor = randint(1, 3)
guessDoor = randint(1, 3)
while True:
newGuessDoor = randint(1, 3)
if newGuessDoor != guessDoor:
break
elif newGuessDoor == guessDoor:
pass
if newGuessDoor == correctDoor:
wins = wins+1
else:
losses = losses+1
print('Wins = ' + str(wins) + '\nLosses = ' + str(losses) + '')
我觉得我错过了一些显而易见的东西。 任何帮助都将不胜感激
这实际上并没有正确地实现Monty-Hall问题。当最初的猜测是不正确的,另一个不正确的门被发现之前,提供了开关,所以这是一个确定性的选择。当最初的猜测是正确的,其中一个不正确的门随机显示
在您的实现中,在最初的猜测之后,您不会得到任何额外的信息—您只是完全随机地选择了第二个与第一个门不同的门
下面是一个如何实现正确方法的示例:
相关问题 更多 >
编程相关推荐