Python学习-输出任意范围内的水仙花数
看了Python学习视频,看到了水仙花的例子,楼主尝试输出任意范围内的水仙花数,这样代码更灵活。
水仙花数:
水仙花数是指一个n位数(n>3 ),它的每个位上的数字的n次幂之和等于它本身(例如∶13+53+3**3 =153 )。
通过python实现输出任意范围内的水仙花数
i=100
while i < 10000:
flag = 0
sum = 0
den=i
num = i
#获取数值的位数(eg: 1000为4位)
while num != 0:
flag += 1
num = num // 10
#将原数字的每一位上的数字都进行乘方操作,并将其和存入sum中
while den != 0:
t = den % 10
sum += t ** flag
den = den //10
#判断是否是水仙花数
if sum == i :
print('数值 %d 是一个水仙花数 '%i)
i =i + 1
若需要更改范围,更改i的值和第2行的10000即可;
运行结果:
此是本菜鸟的python启蒙程序,供大家学习,不足之处请批评指正。
有问题联系邮箱:1874407093@qq.com