You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:请指出判断回文字符串的Python代码中的缺失部分

回文判断代码的问题分析与修复

嘿,我来帮你揪出这段代码里的问题~

首先看你代码里的关键错误:

  • 你写的copy_ = word[-1:]其实只是截取了字符串的最后一个字符(比如传入"deleveled"时,copy_的值是"d"),然后拿完整的原单词和这单个字符做比较,这完全不是判断回文的逻辑——回文要求的是整个字符串反转后和原字符串完全一致呀!

修复后的正确代码

把反转字符串的部分改成Python里常用的全量反转写法[::-1]就可以了:

class Palindrome:
    @staticmethod
    def is_palindrome(word):
        reversed_word = word[::-1]  # 反转整个字符串,而不是只取最后一个字符
        return word == reversed_word  # 可以直接返回比较结果,简化if-else逻辑

print(Palindrome.is_palindrome("deleveled"))  # 现在会正确输出True

可选优化:忽略大小写判断

如果需要支持忽略大小写的回文判断(比如"Level"也被判定为回文),可以先把字符串统一转为小写(或大写)再比较:

class Palindrome:
    @staticmethod
    def is_palindrome(word):
        normalized_word = word.lower()
        return normalized_word == normalized_word[::-1]

print(Palindrome.is_palindrome("Level"))  # 输出True

内容的提问来源于stack exchange,提问作者Encode.to.code

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:49:18