【练习】水仙花数
项目简介
水仙花数
知识模块
- Python 编程语言
知识点
- 运算符
- 循环语句-for-in
- 分支语句-if
- 函数返回值与参数处理
受众
- 初级测试开发工程师
- 初级Python开发工程师
作业要求
编写一个 Python 程序,找出100-999范围内的水仙花数。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
解题思路
-
循环遍历100-999之间的所有三位数
-
分别获取百位数,十位数,个位数
-
判断是否为水仙花数
-
打印符合条件的数字
完整代码
for n in range(100, 1000):
# 获取百位数
i = n // 100
# 获取十位数
j = n // 10 % 10
# 获取个位数
k = n % 10
# 判断是否为水仙花数
if n == i**3 + j**3 + k**3:
# 输出水仙花数
print(n)
代码讲解
-
for n in range(100, 1000)
:使用for
循环遍历从 100 到 999 的所有三位数。 -
i = n // 100
:获取数字 n 的百位数。 -
j = n // 10 % 10
:获取数字 n 的十位数。 -
k = n % 10
:获取数字 n 的个位数。 -
if n == i**3 + j**3 + k**3
:判断是否为水仙花数,即判断条件为原数字等于各位数字的立方和。 -
print(n)
:如果是水仙花数,将其输出。