Monty Hall游戏是什么:
舞台设置有三个标有#1,#2和#3的大门。两扇门后面是一只山羊。在另一扇门的后面是一辆新车。你不知道哪辆车有车,但Monty Hall要你开门。假设你选择#1门。蒙蒂霍尔然后打开其他门之一(比如门#3),并告诉你背后有一只山羊。然后他说:"我会给你一个改变主意的机会。你想改变主意并选择2号门吗?"在你做出决定之后,他们打开你最后选择的门,你会发现你是否赢得了新车或新山羊。澄清一下:在游戏开始之前,汽车和山羊的位置是固定的。在比赛过程中,蒙蒂没有机会改变现状。
我必须做什么:
我需要使用Python 3 创建游戏刺激器。我必须加入一个随机数发生器。该程序将询问用户随机数生成器种子。随机数生成器的目标是随机的。在我的程序开始模拟“让我们成交”之前,它应该向用户询问整数并将其设置为种子。如果用户提供的输入不是数字,程序应立即退出并显示"种子不是数字!"如果用户给出输入的数字,则游戏将开始。然后游戏将询问用户用户想要运行多少游戏。如果用户说5,游戏将重复五次。一旦游戏运行了用户说的次数(如5),那么游戏将再次询问用户用户想要再次玩多少次。(我很难将游戏循环到该数字用户说的时间,然后在完成后询问问题。如果用户说'退出'随时,游戏立即结束。当被问及用户想要运行多少游戏时,如果用户没有输入数字,程序将只是说"请输入一个数字"直到用户最终输入一个数字。
该计划必须做什么:
该程序将更容易,因为它将打印门和标签哪个门有山羊或汽车。所以它会显示" G" " C" " G"他们将在每场比赛中进行洗牌,所以如果程序输出:[C G G]车将在第一门。 Monty(在这种情况下,Monty只是一个变量)会选择"一个门,程序随机生成一个1,2或3的数字。如果用户选择一个有车的门,程序会说用户应该坚持他们为了获胜而选择的门。如果用户选择有山羊的门,程序会说用户应该更换他们选择的门以便用汽车拣门(我被困在这个部分)。在每组游戏之后,该程序总结了玩家应该切换多少次以及他们应该停留多少次。如果游戏数量小于或等于10,程序将打印出每个游戏的结果。如果结果大于10,则只打印摘要。
示例
如果输入为:
25
5
出口
输出应为:
输入随机种子:
欢迎来到蒙蒂霍尔分析
输入'退出'退出。
我们应该进行多少次测试?
第一场比赛
门:[' G',' C',' G']
玩家选择门1
Monty选择Door 3
玩家应该切换到胜利。
第2场比赛
门:[' C',' G',' G']
玩家选择门1
Monty选择2号门
球员应该保持胜利。
第3场比赛
门:[' G',' C',' G']
玩家选择门2
Monty选择1号门
球员应该保持胜利。
第4场比赛
门:[' C',' G',' G']
玩家选择门1
Monty选择2号门
球员应该保持胜利。
第5场比赛
门:[' G',' C',' G']
玩家选择门3
Monty选择1号门
玩家应该切换到胜利。
60.0%的时间保持赢得。
Switch赢得了40.0%的时间。
我们应该进行多少次测试?
感谢您使用此程序。
我是一个非常初学的程序员,如果这让人感到困惑或没有意义,他会努力学习。到目前为止我有一个程序,我知道它不是很好。如果有人可以帮助我,那将非常感激。我对其随机化方面感到非常困惑。
以下是我的计划输出
输入随机种子:
欢迎来到蒙蒂霍尔分析
输入exit退出。
我们应该进行多少次测试?
种子不是数字!
以下是我的计划:
import random
random_seed = input('Enter Random Seed:\n')
try:
random_seed = int(random_seed)
print('Welcome to Monty Hall Analysis')
exit = input('Enter ''exit'' to quit.\n')
tests = int(input('How many tests should we run?\n'))
try:
tests = int(tests)
while True:
select_door = ['G', 'C', 'G']
player_door = input('Doors', random.shuffle(select_door))
doors = [1, 2, 3]
random.choice(doors)
print('Player Selects Door', select_door)
print('Monty Selects Door', random.choice(doors))
if exit == 'exit':
print('Thank you for using this program.')
break
except ValueError:
print('Please enter a number:\n')
except ValueError:
print('Seed is not a number!')
我知道代码和我的描述并不完美,但嘿,我正在尽我所能!