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))#调用函数
原文地址:https://www.cnblogs.com/ttj57/p/13578642.html