我正在为一个介绍课程做作业,我需要确定一个字符串是否是回文。这部分代码遇到问题:
def is_palindrome(letters):
if (len(letters))==0:
return True
elif len(letters)==1:
return True
elif (letters[end])==(letters[0]):
return is_palindrome(letters[(letters[0+1]):(letters[len(letters)-1])])
else:
return False
答案 0 :(得分:2)
您的代码几乎是正确的,但是在切换字符串时出错:
def is_palindrome(letters):
if (len(letters))==0:
return True
elif len(letters)==1:
return True
elif (letters[0])==(letters[-1]): # index [-1] gives the last letter
return is_palindrome(letters[1:-1]) # slice [1:-1] is the word without the first and last letter.
else:
return False
以上作品。
我建议您查看此帖子,详细说明切片的工作原理:Explain Python's slice notation
答案 1 :(得分:1)
请尝试以下代码:
def palindrome(text):
if text == text[::-1]:
print(text, 'is palindrome')
else:
print(text, 'is not palindrome')
palindrome('reser')
palindrome('reset')
str[::-1]
将反转该字符串。有关详细信息,请尝试help(slice)
。