python打印水仙花数(拓展版)

打印指定位数的水仙花数:

水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
注意:n越大,运行负荷越大,时间越长
def func(n):#定义一个函数
list4=[]#以列表形式存放水仙花数
for i in range(10**(n-1),10**n,1):#遍历所有n位数
num=str(i)#将数字转成可迭代对象:字符串
s = 0
for t in num:#获取每个位上的数字的 n 次幂之和
s+=(int(t)**n)
if i==s:
list4.append(i)
return list4
print(func(4))#调用函数
posted @ 2020-08-28 17:20  树下影  阅读(281)  评论(0编辑  收藏  举报