# 判断水仙花数
"""
介绍:
水仙花数是一个三位数,它的每位数字的3次幂之和等于它本身。
例如:153 == (1 ** 3) + (5 ** 3) + (3 ** 3)
知识点:
1、算术运算符:幂,符号'**';整除,符号'//'; 取余,符号'%'
2、if/else 条件语句
3、类型转换
4、while 循环
"""
while True:
# 带提示输入赋值
num = float(input('请输入三位数整数:'))
# 判断是否为整数
if num > int(num):
print('{}不是整数!!!'.format(num))
continue # 结束本次循环,开始下次循环
# 判断是否为三位数
if num < 100 or num > 999:
print('{}不是三位正整数!!!' .format(int(num)))
continue # 结束本次循环,开始下次循环
# 位数分离
units = num % 10 # 分离个位
tens = num % 100 // 10 # 分离十位
hundreds = num // 100 # 分离百位
# 判断是否为水仙花数
if num == (units ** 3) + (tens ** 3) + (hundreds ** 3):
print('{}是水仙花数' .format(int(num))) # float转化int输出
else:
print('{:.0f}不是水仙花数' .format(num)) # 保留0位小数输出
运行结果: