123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入一个正整数n。
输出格式按从小到大的顺序输出满足条件的整数,每个整数占一行。
参考代码n = int(input())
for i in range(10000, 1000000):
a = str(i)
if a == a[::-1] and sum(map(int, a)) == n:
print(i)
考察知识点
1.这个数的范围是五位数到六位数之间,即range(10000, 1000000),所以考虑用for循环在这个区间内遍历
2.要满足各位数字之和为n,但整数没办法拆分,故首先用str()函数把整数变成字符串,再用字符串的索引来遍历各位数字
a = 1234 b = str(a) print(b[::-1]) # 输出 4321
3.map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以**参数序列(即iterable,可以是字符串,列表)**中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。Python 2.x 返回列表。Python 3.x 返回迭代器,可以用list()转换为列表,方便打印
map(function, iterable, ...)其他参考代码
蓝桥杯 试题 基础练习 特殊回文数 (Python)



