帮我写一个水仙花的Python
时间: 2023-09-23 11:06:48 浏览: 94
### 回答1:
好的,以下是Python实现水仙花数的代码:
```python
# 水仙花数是指一个n位正整数( n≥3 ),它的每个位上的数字的n次幂之和等于它本身。
# 例如:1^3 + 5^3+ 3^3 = 153。
for num in range(100, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
这段代码可以输出所有的三位数水仙花数。
### 回答2:
当然,请看下面的代码:
```python
def find_armstrong_numbers():
armstrong_numbers = []
for num in range(100, 1000):
# 将一个三位数拆分成个位、十位和百位
units = num % 10
tens = (num // 10) % 10
hundreds = num // 100
# 检查是否为水仙花数
if num == (units ** 3 + tens ** 3 + hundreds ** 3):
armstrong_numbers.append(num)
return armstrong_numbers
# 调用函数并输出结果
numbers = find_armstrong_numbers()
print("三位水仙花数有:")
for num in numbers:
print(num, end=" ")
```
这个程序定义了一个函数`find_armstrong_numbers()`,用于找到所有的三位水仙花数,并将它们存储在一个列表中。然后通过调用这个函数来获取水仙花数列表,并使用`print()`函数逐个输出水仙花数。
程序中的主要部分是一个`for`循环,它遍历从100到999之间的所有三位数。然后,我们将每个三位数拆分成个位、十位和百位,用于计算水仙花数。通过检查每个数字是否等于它的各位数的立方和,来确定它是否为水仙花数。如果是水仙花数,将其添加到`armstrong_numbers`列表中。
最后,通过在控制台上逐个输出水仙花数,来验证程序的正确性和结果。
阅读全文