当我运行以下代码时,如果我在第一次尝试时输入正确的值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
)