这是初学Python100套代码之18,是用来确定哪个是水仙花数,我们这里不谈太多的理论,只拿三位数来说,153每个位上的数字立方后加总,就等于这个数本身,而152就不是。
代码如下:
num = int(input("Enter a number: "))
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num,"is an Armstrong number")
else:
print(num,"is not an Armstrong number")
这套代码最大的看点就是,如果讲个位,十位,百位的数学拿出来,这个不看代码自己想,除法以前作过类似的数学题,否则是有点难度的,不要以为看了代码后,就感觉很简单。
这个其实就是用除以10后的余数拿出来,这个是个位数,然后整除后,将三位数变成两位数,又可以除以10取余,将十位上的数字拿出来,如此反复,千位也是如此。当然到了更大的数字,其实也是一样的。
这个就不放视频讲解了。因为文字就可以表达的很清楚。有疑问,可以反馈评论。