对于python中的递归函数,返回True



有人能告诉我简单递归函数的逻辑出了什么问题吗

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

我还要加上";下部";因为资本化与无关

相关内容

  • 没有找到相关文章

最新更新