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

Python数字字符串回文检测:现有可运行代码是否可简化?

代码评估与优化建议

原代码评估

你的代码功能完全正常,逻辑清晰易懂:通过将数字转换为字符串,再转为列表后反转对比,准确实现了回文数字的判断。代码运行稳定,能正确输出预期结果,是一个可行的基础实现方案。

优化建议

1. 精简核心逻辑,消除冗余操作

原代码中创建双列表并反转的步骤可以大幅简化。Python字符串支持直接通过切片[::-1]完成反转,无需转换为列表,能让代码更简洁高效:

def check_palindrome(num):
    my_str = str(num)
    return "It's palindrome" if my_str == my_str[::-1] else "Not a palindrome"

print(check_palindrome(232))
print(check_palindrome(235))

2. 增加输入合法性校验(可选)

如果需要确保输入是有效的整数,可以添加校验逻辑,避免非数字输入引发的潜在问题:

def check_palindrome(num):
    try:
        my_str = str(num)
        if not my_str.isdigit():
            return "Invalid input: not an integer"
        return "It's palindrome" if my_str == my_str[::-1] else "Not a palindrome"
    except:
        return "Invalid input: not a valid number"

print(check_palindrome(232))
print(check_palindrome(235))
print(check_palindrome("abc"))

3. 优化返回值设计(可选)

若追求更高的复用性,可以让函数返回布尔值而非固定字符串,将输出展示的逻辑交给调用方处理,更符合单一职责原则:

def is_palindrome(num):
    my_str = str(num)
    return my_str == my_str[::-1]

# 调用示例
print("It's palindrome" if is_palindrome(232) else "Not a palindrome")
print("It's palindrome" if is_palindrome(235) else "Not a palindrome")

内容的提问来源于stack exchange,提问作者Dero Vardanian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:20:49