之所以返回,是None因为当你递归调用它时:
if my_var != "a" and my_var != "b": print('You didn't type "a" or "b". Try again.') get_input()..你不返回该值。
因此,当确实发生递归时,返回值将被丢弃,然后你就无法使用该函数了。退出函数的末尾意味着
python隐式返回None,就像这样:
>>> def f(x):... pass>>> print(f(20))None
因此,而不是只是调用
get_input()你的if说法,你需要
return它:
if my_var != "a" and my_var != "b": print('You didn't type "a" or "b". Try again.') return get_input()


