def is_palindrome(num):
return str(num) == str(num)[::-1]
# 12345 54321 123321
def find_special_numbers(n):
special_numbers = []
for num in range(10000, 1000000):
if sum(map(int, str(num))) == n and is_palindrome(num):
# map(int, str(num)): 这将int函数应用于从上一步得到的字符串中的每个字符。
# 它将每个字符(字符串中的一个数字)转换回整数。因此,对于 '123',它变成了列表 [1, 2, 3]。
# sum(map(int, str(num))): 这计算了前一步中获得的所有整数的总和。
# 在我们的例子中,总和将是 1 + 2 + 3 = 6。
special_numbers.append(num)
return special_numbers
if __name__ == "__main__":
n = int(input())
result = find_special_numbers(n)
for res in result:
print(res)
蓝桥杯练习题 —— 特殊回文数(python)
Python程序:寻找满足条件的特殊数字序列
最新推荐文章于 2025-03-23 12:31:57 发布
该篇文章介绍了如何编写一个Python函数,检查10000到1000000范围内的数字,其各位数字之和等于给定值n且是回文数。通过`defis_palindrome`函数判断是否为回文,`find_special_numbers`函数找出符合条件的特殊数字并打印。
5242

被折叠的 条评论
为什么被折叠?



