Files
demo0/test.py
zhucgcc eed153a110 Add test.py for palindrome calculation
This script checks if a number is palindrome and finds palindromes in a given range.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 16:38:55 +08:00

69 lines
1.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
def is_palindrome(num):
"""
判断一个整数是否是回文数
参数:
num (int): 要检查的整数
返回:
bool: 如果是回文数返回True否则返回False
"""
if num < 0:
return False
str_num = str(num)
return str_num == str_num[::-1]
def find_palindromes_in_range(start, end):
"""
查找指定范围内的所有回文数
参数:
start (int): 起始值(包含)
end (int): 结束值(包含)
返回:
list: 范围内的回文数列表
"""
palindromes = []
for num in range(start, end + 1):
if is_palindrome(num):
palindromes.append(num)
return palindromes
def main():
"""主函数,演示回文数计算"""
print("回文数计算示例")
print("=" * 30)
# 测试一些数字
test_numbers = [121, 123, 12321, -121, 0, 1, 10, 11, 1221]
for num in test_numbers:
result = is_palindrome(num)
print(f"{num} 是回文数吗?{result}")
print("\n查找 1 到 200 之间的回文数:")
palindromes = find_palindromes_in_range(1, 200)
print(f"共找到 {len(palindromes)} 个回文数:")
print(palindromes)
# 用户输入示例
print("\n" + "=" * 30)
try:
user_input = input("请输入一个整数检查是否是回文数 (按Enter跳过): ")
if user_input.strip():
num = int(user_input)
if is_palindrome(num):
print(f"{num} 是回文数!")
else:
print(f"{num} 不是回文数。")
except ValueError:
print("输入无效,请输入一个整数。")
except EOFError:
pass # 脚本运行而非交互时可能发生
if __name__ == "__main__":
main()