打印出所有的“水仙花数”,所谓的水仙花数是一个三位数,其各位数字立方和等于其本身:
L=[]
for i in range(100,1000):
if sum(map(lambda x:int(x)**3,str(i)))==i:
L.append(i)
print(L)
L=[]
for i in range(100,1000):
if i==int(str(i)[0])**3+int(str(i)[1])**3+int(str(i)[2])**3:
L.append(i)
print(L)
延申:找出n位数中,符合“水仙花数”规律的数
def sxh_num(n):
first=10**(n-1)
end=10**n
L=[]
for i in range(first,end):
if sum(map(lambda x:int(x)**n,str(i)))==i:
L.append(i)
return L