Python 求水仙花数

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 例如:153=1×1×1+5×5×5+3×3×3。
我们在此编写一个程序,计算所有N位水仙花数

N = int(input())
for i in range(10**(N-1), 10**N):
	# 对数字进行处理,按位存入列表中
    lists = list(map(eval, str(i)))
    # lamdba表达式,将每一位数字求其N次方并再度存入列表中,然后求列表中所有数字的和,判断是否等于i
    if sum(list(map(lambda x: x**N, lists))) == i:
        print(i)

输出结果如下:
在这里插入图片描述
输入3,即求100到999之间的水仙花数,输出结果也正确

猜你喜欢

转载自blog.csdn.net/weixin_45659364/article/details/117474497