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

如何在Python中实现大小写不敏感的回文判断?

修复回文判断函数的大小写问题及代码错误

先看你现有代码里的几个问题:

  • 大小写敏感:回文判断应该忽略大小写差异,但原代码直接比较原始字符,导致'M'和'm'被判定为不相等
  • 语法错误:Python里布尔值是True(首字母大写),不是true
  • 索引错误:循环变量用的是n,但判断里写了未定义的i
  • 冗余逻辑:没必要逐字符循环,直接比较字符串和反转后的结果就行

优化后的简洁版本

这个版本直接解决大小写问题,同时让代码更高效:

def isPalindrome(word):
    # 统一转成小写,消除大小写差异
    lower_word = word.lower()
    # 直接比较原字符串小写版和反转后的版本
    return lower_word == lower_word[::-1]

如果要保留逐字符判断的写法(优化后)

要是你想保留循环逻辑,也可以这么改,顺便优化效率:

def isPalindrome(word):
    lower_word = word.lower()
    reversed_word = lower_word[::-1]
    palindrome = True
    for n in range(len(lower_word)):
        if lower_word[n] != reversed_word[n]:
            palindrome = False
            # 发现不相等直接退出循环,不用继续判断
            break
    return palindrome

测试一下:isPalindrome('Mom')会返回True,isPalindrome('Hello')返回False,完美解决大小写问题。

内容的提问来源于stack exchange,提问作者Lehlohonolo Moloi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:40:43