有点在python中的新手,开始依赖python如何使用字符串和迭代字符串。 曾经在一大堆所谓的代码'Palindrome'上工作过,你会看看哪个部分确实出错了吗?
def palindrome(s):
if len(s) < 1:
return True
else:
i = 0
j = len(s) - 1
r = s[::-1]
print "s is %s" % s,
print "r is %s" % r
while s[j] == r[i] and j != 0:
print "s[j] is %s" % s[j],
print "; r[i] is %s" % r[i]
i += 1
j -= 1
return True
return False
我已经使用了所有这些打印语句来确保代码的位置。该程序应该比较一个字符串和它的反向定义它是否是一个回文。
答案 0 :(得分:4)
下面你有一个不太复杂的解决方案:
def is_palindrome(s):
return s == s[::-1]
在您的版本中,对于True
len(s) >= 1
答案 1 :(得分:1)
我可能会遗漏一些明显的东西,但这不应该足够吗?
def ispalindrome(s):
return s == s[::-1]