我正在制作文字冒险游戏。标题打印后,下面的功能提示玩家按“y”开始游戏。如果输入“y”,则该函数返回“打开”。如果没有,该功能建议他们记住他们的输入,并呼吁自己重新开始。
如果玩家第一次点击“y”,该功能会正确返回。我遇到的问题是,如果玩家输入了错误的输入,则后续尝试输入“y”将无法正确返回。他们跳到函数的底部并返回我的错误消息“这是错的”。
如何在调用之后让函数正确返回?
def prompt():
print "Hit 'Y' to begin."
action = raw_input("> ").lower()
if action == "y":
return "opening"
else:
print "For this game to work, you're going to have to get"
print "the hang of hitting the right key."
print "Let's try that again."
prompt()
return "this is wrong"
ret = prompt()
print ret
答案 0 :(得分:1)
你只是再次调用该函数但没有返回值,它应该是
print "Let's try that again."
return prompt()
但是,你根本不应该递归这样做......
def prompt():
print "Hit 'Y' to begin."
action = raw_input("> ").lower()
while action != "y":
print "For this game to work, you're going to have to get"
print "the hang of hitting the right key."
print "Let's try that again."
action = raw_input("> ").lower()
return "opening"
ret = prompt()
print ret
答案 1 :(得分:0)
在函数
中使用return prompt()