如果您希望范围的顺序相反(初始值大于最终值),则需要指定负步长(在您的示例中为-1)range(5,0) # doesn't work
[]
range(5,0,-1) # works
[5, 4, 3, 2, 1]
但这是一种效率低下的反转字符串的方法,请改用word[::-1](这样效率会更高)
^{pr2}$
但是,如果word很长,则需要花费大量的精力来反转它,然后将整个单词与原始单词进行比较。在
相反,您可以从0到{}迭代一次,并将第一个元素与最后一个元素进行比较,第二个元素与倒数第二个元素进行比较,等等。。。直到其中一个失败,否则就是回文。在def is_palindrome(word):
is_palindrome = True
for i in range(len(word)/2):
if word[i] != word[-i-1]:
is_palindrome = False
break
# you can print if it's a palindrome:
if is_palindrome:
print('Palindrome')
else:
print('Not a palindrome')
# or just return a boolean answer
return is_palindrome
# test cases
is_palindrome('adda') # even palindrome
is_palindrome('adfda') # odd palindrome
is_palindrome('asda') # even non-palindrome
is_palindrome('adfsa') # odd non-palindrome