水仙花数,即每一个数位上的数字的立方之和等于它本身的数。
例:153
1^3=1
5^3=125
3^3=27
1+125+27
=126+27
=153
=原来的数
所以,153是一个水仙花数。
-------------------------------------------
代码
首先:
#coding=utf-8
a=str(input("数字:"))
获取用户输入的数字,并将其转化为数字,便于遍历
其次:
s=0
for i in a:
s+=int(i)**3
定义一个总和变量,遍历字符串,加上每一个数字的立方
if s==int(a):
print("是")
else:
print("不是")
最后判断是否一样,如一样输出是,不一样输出不是
完整代码
#coding=utf-8
a=str(input("input:"))
s=0
for i in a:
s+=int(i)**3
if s==int(a):
print("是")
else:
print("不是")
方式【2】:
#coding=utf-8
a=int(input("number:"))
获取输入数字,并将其转换为整数
s=0
v=int(a) #备份
先将变量和定义为0,a定义一个备份(不能直接操作a,否则无法比较)
for i in range(len(str(a))):
last=v%10
s+=last**3
v-=last
v/=10
按位数遍历a变量,用取余算出末位,立方后加给s,再去除末位
注:%表示取余,用v减去余数,再除以10,相当于直接“擦掉”末位数字
最后就是比较了:判断是否与原数相同
if s==int(a):
print("是")
else:
print("不是")
完整:
#coding=utf-8
a=int(input("number:"))
s=0
v=int(a) #备份
for i in range(len(str(a))):
last=v%10
s+=last**3
v-=last
v/=10
if s==int(a):
print("是")
else:
print("不是")
--------------------------------------完----------------------------------------------------------------------------------------