首页 > 解决方案 > 为什么这个 python 代码显示错误来检查回文号?

问题描述

每当我运行 is_palindrome('otto') 时,它都会显示错误“IndexError: string index out of range”......但是,当我只是编译代码时,它不会显示任何错误。感谢您的帮助

def middle(word):    
   return word[1:-1]

def is_palindrome(word):
  if word[0] != word[-1]:
    return False
  elif len(word)<=1:
    return True
  else:    
    return is_palindrome(middle(word))

标签: python-3.x

解决方案


正在发生的事情是,对于偶数个字符的字符串,它最终会运行 palindrome("") ,这会引发越界错误。尝试切换len(word)<=1word[0] != word[-1]


推荐阅读