任意输入一个数(可以是任意位数),判断是否为水仙花数。
注:因为加上了while True.所以每次判断之后,可以继续输入新的数字进行判断
##水仙花数
while True:
import math
count=0
num_result=0 #拆分后每一位count次方的和
num_compare=0 #将num赋值给num_compare,参与判断水仙花数
num_count=0 #用来计算这是一个几位数
num = int(input("请输入一个数字:"))
##以下为判断这是一个几位数
num_count=num
while num_count!=0:
num_count=int(num_count/10)
count+=1
##print("这是一个%d位数"%count)
##以下为判断是否是水仙花数
num_compare = num
while num_compare!=0:
num_result=num_result+math.pow(num_compare%10,count)
num_compare = int(num_compare/10)
## print(num_result,num_compare)
if num_result==num:
print("%d是水仙花数"%num)
else:
print("%d不是水仙花数"%num)
程序运行效果如图所示(IDLE)