【发布时间】:2018-05-11 00:23:11
【问题描述】:
现在我正在尝试为蒙蒂霍尔问题编写一段代码
我有一些代码正在尝试修复然后增强
这是我一直坚持的一件事:
我正在尝试使用 random.shuffle() 更改选择奖品的门的方式,我必须使用 random.shuffle(),而不是其他任何东西。
我该怎么做?
我现在所拥有的对此不起作用。
如果我输入print(random.shuffle(door)),我不会得到新的输出。
如何让它返回选择的输出
import random
door = ["goat","goat","car"]
choice = int(input("Door 1, 2 or 3? "))
otherDoor = 0
goatDoor = 0
if choice == 1:
if door[1] == "goat":
otherDoor = 3
goatDoor = 2
elif door[2] == "goat":
otherDoor = 2
goatDoor = 3
elif choice == 2:
if door[0] == "goat":
otherDoor = 3
goatDoor = 1
elif door[2] == "goat":
otherDoor = 1
goatDoor = 3
elif choice == 3:
if door[0] == "goat":
otherDoor = 2
goatDoor = 1
elif door[1] == "goat":
otherDoor = 1
goatDoor = 2
switch = input("There is a goat behind door " + str(goatDoor) +\
" switch to door " + str(otherDoor) + "? (y/n) ")
if switch == "y":
choice = otherDoor
if random.shuffle(door) == "car":
print("You won a car!")
else:
print("You won a goat!")
input("Press enter to exit.")
【问题讨论】:
-
您需要密切关注answers to the question you linked。
random.shuffle()不返回任何东西。它会就地打乱列表。 -
random.shuffle()就是这样做的……它对数据进行洗牌。 不应该输出任何东西。
标签: python python-3.x random