我有一个自称的函数:
def get_input():
my_var = input('Enter "a" or "b": ')
if my_var != "a" and my_var != "b":
print('You didn\'t type "a" or "b". Try again.')
get_input()
else:
return my_var
print('got input:', get_input())
现在,如果我仅输入“ a”或“ b”,则一切正常:
Type "a" or "b": a
got input: a
但是,如果我输入其他内容,然后输入“ a”或“ b”,则会得到以下信息:
Type "a" or "b": purple
You didn't type "a" or "b". Try again.
Type "a" or "b": a
got input: None
我不知道为什么get_input()
要回来,None
因为它只应该回来my_var
。这None
是哪里来的,我该如何修复我的功能?
return Dat_Function()
递归调用时需要做。