检查回文的功能中的错误在哪里?
问题内容:
下面给出的代码检查列表是否为回文。它为983提供了正确的输出。我在哪里出错?
def palindrome(num):
flag=0
r=num[::-1]
for i in range (0, len(num)-1):
if(r[i]==num[i]):
flag=1
else:
flag=0
return flag
问题答案:
如果不匹配,您应该立即返回。另外,您只需要迭代一半的长度即可:
def function(...):
...
for i in range (0, (len(num) + 1) / 2):
if r[i] != num[i]:
return False
return True
顺便说一句,您不需要该循环。您可以简单地执行以下操作:
def palindrome(num):
return num == num[::-1]