@BitsAreNumbersToo,您是对的,但您忽略了当最后一次重试触发时的另一个返回情况。
当log = 3的最后一个条件仅打印信息并返回None,这也是导致最终输出为None的原因。
def login(log=1):
con = input(f"{na} are you Ready for the game Yes/NO ")
if ((con == "Yes") or (con == "yes") or (con == "y") or (con == "Y")):
print("\nwelcome to The Game")
return True
elif (log == 3):
print("retry after long time")
return True #Or whatever return value you need
else:
print("Retry again")
log = log + 1
return login(log) # this line required the return
na = 'YOURNAME'
flag = login()
print(flag)
如果有任何疑问,请随时告知。