水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。要编写程序找出所有在100到999范围内的水仙花数,可以采用以下步骤:
初始化变量
定义一个空列表来存储找到的水仙花数。
定义一个变量`数字`,初始值为100,用于循环遍历100到999之间的所有数。
循环遍历
使用`for`循环从100遍历到999。
在每次循环中,将当前数字拆分成个位、十位和百位。
计算立方和
取出当前数字的个位、十位和百位数字。
计算这些数字的立方和。
判断是否为水仙花数
将计算得到的立方和与当前数字进行比较。
如果相等,则说明当前数字是水仙花数,将其添加到列表中。
输出结果
循环结束后,输出列表中的所有水仙花数。
```python
定义范围
start = 100
end = 999
循环遍历范围内的每一个数
for num in range(start, end + 1):
拆分每个位上的数字
digits = [int(digit) for digit in str(num)]
计算每个数字的立方和
sum_of_cubes = sum([digit len(digits) for digit in digits])
判断是否为水仙花数
if sum_of_cubes == num:
print(num)
```
运行上述代码,将会输出所有在100到999范围内的水仙花数。
建议
确保在编写程序时,注意变量的有效范围,避免在循环中重复使用已经更改的变量。
可以考虑使用函数来封装判断水仙花数的逻辑,使代码更加模块化和可读。