有人能告诉我简单递归函数的逻辑出了什么问题吗
def回文(字符串(:
if len(string)<=1:
return True
elif string[0]== string[-1]:
palindrome(string[1:-1])
else:
return False
False部分工作正常,例如:回文('good'(函数正确返回False。但如果它是一个回文,就像:回文('level'(函数不返回任何内容。
如注释中所述,递归调用函数时不会返回函数,但应该返回,否则原始函数调用将返回None。
解决方案:
def palindrome (string):
if len(string)<=1:
return True
elif string[0].lower() == string[-1].lower():
return palindrome(string[1:-1])
else:
return False
我还要加上";下部";因为资本化与无关