函数有时返回"None",有时在嵌套递归调用中返回 1



当我运行以下代码时,如果我在第一次尝试时输入正确的值1或2,它就可以正常工作。但是,如果我输入了一个不正确的值,代码就会正确地提示我修复它。当我把正确的值,而不是返回1或返回2,返回None。有什么原因吗?谢谢!

def check_input(input_message, option1, option2):
response = input(input_message + ":n").lower()
if int(response) == option1:
return 1
elif int(response) == option2:
return 2
else:
print_pause("I'm sorry I don't recognize that response. Try again!", 2)
check_input(input_message, option1, option2)
decision = check_input("Please type 1 to go into the dark cave. 2 to go into the dweilling", 1, 2)

else块的最后一行改为:

return check_input(input_message, option1, option2)

否则,你的函数不会返回任何值(这就是为什么你得到None)

相关内容

  • 没有找到相关文章

最新更新