Skip to content

【练习】水仙花数

项目简介

水仙花数

知识模块

  • Python 编程语言

知识点

  • 运算符
  • 循环语句-for-in
  • 分支语句-if
  • 函数返回值与参数处理

受众

  • 初级测试开发工程师
  • 初级Python开发工程师

作业要求

编写一个 Python 程序,找出100-999范围内的水仙花数。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

解题思路

  1. 循环遍历100-999之间的所有三位数

  2. 分别获取百位数,十位数,个位数

  3. 判断是否为水仙花数

  4. 打印符合条件的数字

完整代码

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) 

代码讲解

  1. for n in range(100, 1000):使用 for 循环遍历从 100 到 999 的所有三位数。

  2. i = n // 100:获取数字 n 的百位数。

  3. j = n // 10 % 10:获取数字 n 的十位数。

  4. k = n % 10:获取数字 n 的个位数。

  5. if n == i**3 + j**3 + k**3:判断是否为水仙花数,即判断条件为原数字等于各位数字的立方和。

  6. print(n) :如果是水仙花数,将其输出。