Python实例009:判断一个数是不是水仙花数,如果不是,则输出所有的水仙花数
“水仙花数”,所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。这需要明白怎么去分离一个三位数的个十百位上的各数字,本文有2种方法进行分离。
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
Falg = 1
while Falg :
n = int( input('请输入一个三位数n:') )
if (100 <= n <= 999) :
Falg = 0
else :
Falg = 1
print('水仙花数满足的是一个三位数,请重新输入!\n')
# 方法1:分离一个三位数的个十百位上的各数字
bai = int(n / 100);
shi = int(n % 100 / 10);
ge = int(n % 10)
if ( n == bai ** 3 + shi ** 3 + ge ** 3 ) :
print('%d是一个水仙花数!' % n)
else :
print('%d不是一个水仙花数!' % n)
print('\n所有的水仙花数如下:')
for m in range(100, 1000) :
# 方法2:分离一个三位数的个十百位上的各数字
bai = int(m / 100);
shi = int(m / 10 % 10);
ge = int(m % 10)
if ( m == bai ** 3 + shi ** 3 + ge ** 3 ) :
print(m, end='\t\t')
运行结果如下:
- 结果1:
请输入一个三位数n:370
370是一个水仙花数!
- 结果2:
请输入一个三位数n:988
988不是一个水仙花数!
所有的水仙花数如下:
153 370 371 407
- 致谢
若对大家有用,感谢点赞或评论;若有不足或补充之处,也感谢大家评论进行指正,后期我将对本文进行补充完善。相信这是互相进步的开始!