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
相关产品推荐
相关产品推荐

