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>
This commit is contained in:
2026-02-26 16:38:55 +08:00
parent 6b06b4c7f8
commit eed153a110

69
test.py Normal file
View File

@@ -0,0 +1,69 @@
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()