【发布时间】:2018-07-14 22:02:43
【问题描述】:
好的,所以我正在尝试创建一个递归函数,如果该函数是回文则返回 True,否则返回 False。但是,它并没有走到尽头,而是随机停止。
代码:
def is_palindrome(word):
if len(word) == 1 or len(word) == 0:
return True
else:
lst = len(word) - 1
if word[0] == word[lst]:
print(len(word), " --> ", word)
print(word[0], " # ", word[lst])
is_palindrome(word[0+1:lst])
else:
return False
对于我的一生,我不知道为什么。这是一个示例输出:
7 --> racecar
r # r
5 --> aceca
a # a
3 --> cec
c # c
^ It stops right here. Why doesn't it continue and return True when length = 1?
【问题讨论】:
-
return list(word) == reversed(list(word))
标签: python string recursion palindrome