我想在这里使用递归,但我的代码是错误的。帮助我,我错了。它只返回True。我必须返回递归语句以及函数返回False的条件。基本上,我想扩展我的代码。
def mypalindrome(l):
if l==[] or len(l) == 1:
return(True)
else:
return(mypalindrome(l[1:-1]))
答案 0 :(得分:1)
你似乎拥有大部分权利。您只需要正确调用参数并修复返回值。此外,您缺少检查第一个和最后一个字符的检查,这是一个示例:
string = "reallear"
def mypalindrome(string):
if len(string) <= 1:
return True
elif string[0] == string[-1]:
return mypalindrome(string[1:-1])
else:
return False
print mypalindrome(string)
答案 1 :(得分:0)
检查单词回文的几种方法
def mypalindrome(l):
if len(l) < 2:
return True
if l[0] != l[-1]:
return False
return mypalindrome(l[1:-1])
或更优雅的方式
def mypalindrome(l):
return l == l[::-1]
答案 2 :(得分:-1)
def mypalindrome(l):
if l==[] or len(l) == 1:
return(True)
else:
return(mypalindrome(l[1:-1]) and l[0] == l[-1])