python-3.x - 为什么这个 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))
解决方案
正在发生的事情是,对于偶数个字符的字符串,它最终会运行 palindrome("") ,这会引发越界错误。尝试切换len(word)<=1
和word[0] != word[-1]
推荐阅读
- data-structures - 双链表中最后一个元素的删除复杂度
- python-3.x - 我不明白使用 layer.get_weights() 获得的权重尺寸
- haskell - 如何在haskell中遍历图?
- javascript - 如何将elementor部分变成可点击的按钮
- ios - 更新坐标时 GMS Mapview 闪烁、重新加载和崩溃
- java - 如何在多个网页中立即替换页眉和页脚?
- jquery - 需要帮助来修复 Spring Boot 项目
- python - 如何在递归python函数中正确放置返回值
- reactjs - 在没有 webpack.config 的情况下安装 sass 直接反应 js
- python - 如何修改 TensorFlow-Hub 模块中的可训练 tf.Variables 以使用自定义内核初始化程序?