python 写一个水仙花数
时间: 2025-03-28 16:09:48 浏览: 25
### 如何使用 Python 编写计算水仙花数的程序
以下是通过 Python 实现计算所有三位数范围内的水仙花数的代码示例:
```python
for num in range(100, 1000): # 遍历所有的三位数
hundreds = num // 100 # 获取百位数字
tens = (num // 10) % 10 # 获取十位数字
units = num % 10 # 获取个位数字
if hundreds**3 + tens**3 + units**3 == num: # 判断是否满足条件
print(f"水仙花数是:{num}") # 输出符合条件的数字
```
上述代码逻辑如下:
- 使用 `range` 函数生成从 100 至 999 的所有整数[^1]。
- 对于每个数字,分别提取其百位、十位和个位上的数值[^2]。
- 计算这三个位置上数字的立方和,并判断其是否等于原始数字[^3]。
- 若相等,则将其作为水仙花数输出。
另一种实现方式可以通过字符串操作简化部分过程:
```python
for num in range(100, 1000):
digits = list(str(num)) # 将数字转为字符列表
cube_sum = sum(int(digit)**3 for digit in digits) # 计算每位数字的立方和
if cube_sum == num: # 判断立方和是否等于原数字
print(f"水仙花数是:{num}")
```
此版本中,将数字转化为字符串以便逐位处理,从而避免复杂的数学运算来分离各个位数[^4]。
#### 注意事项
- 上述两种方法均能有效找出所有三位数中的水仙花数。
- 用户可以根据个人偏好选择更易于理解的方式进行编码。
阅读全文
相关推荐


















