此问题引用了我之前提问的信息:
Text Game - If statement based of input text - Python
所以,现在我有了这个:
#Choice Number1
def introchoice():
print()
print("Do you 'Hesitate? or do you 'Walk forward")
print()
def Hesitate():
print()
print("You hesistate, startled by the sudden illumination of the room. Focusing on the old man who has his back turned to you. He gestures for you to come closer. \n ''Come in, Come in, don't be frightened. I'm but a frail old man'' he says.")
print()
#
def Walk():
print()
print("DEFAULT")
print()
#
def pick():
while True:
Input = input("")
if Input == "Hesitate":
Hesitate()
break
if Input == "Walk":
Walk()
break
#
#
pick()
#-#-#-#-#-#-#-#-#-#-#-#-#
#Clean-up
#-#-#-#-#-#-#-#-#-#-#-#-#
现在我要做的就是这个;
def pick():
while True:
Input = input("")
if Input == "Hesitate":
Hesitate()
break
if Input == "Walk":
Walk()
break
if Input is not "Walk" or "Hesitate":
print("INVALID")
break
#
#
pick()
#-#-#-#-#-#-#-#-#-#-#-#-#
#Clean-up
#-#-#-#-#-#-#-#-#-#-#-#-#
现在我让游戏确定了特定的文本输入,我希望它能够检测输入是否不是其中一个选项。这样,如上面的代码所示,如果输入文本不是“Walk”或“犹豫”,则打印文本“INVALID”
我该怎么做呢?
答案 0 :(得分:1)
我想您仍然希望收到输入,如果它是"无效",那么break
语句必须 if
s。否则,循环将只迭代一个时间。
此外,我建议您使用if-elif-else
结构,以便您的代码看起来更有条理。
在这种情况下,您无法使用is
或is not
,因为这些运算符用于检查对象是否相同(相同的引用)。使用运算符==
和!=
检查是否相等。
while True:
my_input = input("> ")
if my_input == "Hesitate":
hesitate()
break
elif my_input == "Walk":
walk()
break
else:
print("INVALID")
备注:强>