昨天晚上闲暇看到水仙花的视频,我自己也做了一个,python做起来还是蛮简单的,各位参考参考!
#!/usr/bin/env python3
# -*- conding:utf-8 -*-
# @Time: 2017/12/12 11:53
# @Author:Luke
def is_amstrong_number(n):
"""
:rtype: 是水仙花数就返回True,不是就False
:param n: 输入数字
:param x:是位数
:param a:是各个位数的立方
:param m:是每位上的数字
"""
x = 0
y = n
a = 0
while int(n) > 0:
n /= 10
x += 1
# 循环相加各个数字的立方和,注意for循环里面的m是浮点型,得整数化
for i in range(x):
m = (y % (10 ** (i + 1))) / (10 ** i)
a += int(m) ** x
if a == y:
return True
else:
return False
for i in range(100, 10000):
if is_amstrong_number(i):
print("水仙花数:%d" % i)