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

求助:Palindrome检查函数异常,传入121返回「not palindrome」

回文检查函数异常原因及修复方案

问题原因

你的代码中,参数a是整数类型(如传入的121),而通过str(a)[::-1]得到的b是字符串类型("121")。整数与字符串直接用==比较时,因类型不同永远不会相等,导致输出错误结果。

修复方案

方案一:将整数参数转为字符串后比较

这种方法兼容性更强,能处理字符串形式的回文输入:

def palindrome(a):
    b = str(a)[::-1]
    if str(a) == b:
        print("palindrome")
    else:
        print("not palindrome")

palindrome(121)

方案二:将反转后的字符串转回整数比较

仅适用于正整数输入场景,若传入负数或非数字参数会报错:

def palindrome(a):
    b = int(str(a)[::-1])
    if a == b:
        print("palindrome")
    else:
        print("not palindrome")

palindrome(121)

内容的提问来源于stack exchange,提问作者MUDIT DAHRA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 05:23:12