我目前正在使用 python 进行简单的文本冒险。基本上我希望 randint 选择 1 或 2,然后分配给 right_wire,然后 raw_input 为 wire_choice,然后匹配 2 以提供所需的结果。我相信你们无论如何都能弄清楚我在这里想做什么。我离这里很近还是真的很远?谢谢!
right_wire = randint(1, 2)
wrong_wire = 0
if right_wire == 1:
wrong_wire = 2
elif right_wire == 2:
wrong_wire = 1
else:
print "ERROR"
while True:
print "Which wire do you pull?"
print
print "1. The red one."
print "2. The blue one."
print
wire_choice = raw_input('*>>*')
if wire_choice == 1 and right_wire == 1:
print "**BOMB DEFUSED**"
return 'engineering2'
elif wire_choice == 2 and right_wire == 2:
print "**BOMB DEFUSED**"
return 'engineering2'
elif wire_choice == 1 and right_wire == 2:
print "**FAILED**"
return 'death'
elif wire_choice == 2 and right_wire ==1:
print "**FAILED**"
return 'death'
else:
print no_understand
最佳答案
为什么不只是:
while True:
print "Which wire do you pull?"
print
print "1. The red one."
print "2. The blue one."
print
raw_input('*>>*')
if randint(0, 1):
print "**BOMB DEFUSED**"
return 'engineering2'
else:
print "**FAILED**"
return 'death'
/!\raw_input 返回一个字符串,你将返回值与一个整数进行比较,它永远不会匹配:
$ python
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 == "1"
False
关于python - 文本冒险中匹配用户选择的问题。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14675080/