python中用while循环结构计算全部的水仙花数
时间: 2024-10-29 21:12:51 浏览: 38
python 计算1000以内的水仙花数
5星 · 资源好评率100%
在Python中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
要使用while循环计算所有的水仙花数,你可以创建一个函数,从最小的三位数开始,逐个检查每个数是否为水仙花数,直到达到最大三位数为止。以下是简单的示例代码:
```python
def is_armstrong_number(num):
# 将数字转换成字符串,便于处理每一位
str_num = str(num)
# 计算每位数字的立方和
sum_of_cubes = sum(int(digit) ** 3 for digit in str_num)
# 检查是否相等
return num == sum_of_cubes
# 定义起始和结束边界,这里假设我们只对三位数感兴趣
start = 100
end = 999
# 使用while循环找出水仙花数
water_lilies = []
num = start
while num <= end:
if is_armstrong_number(num):
water_lilies.append(num)
num += 1
# 打印所有找到的水仙花数
print("水仙花数有:", water_lilies)
阅读全文