三位水仙花数python
时间: 2023-10-12 16:12:43 浏览: 110
以下是三个水仙花数的 Python 代码:
```python
# 第一种方法
for num in range(100, 1000):
# 将数字拆分为个位、十位和百位
digit1 = num % 10
digit2 = (num // 10) % 10
digit3 = num // 100
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
# 第二种方法
narcissistic_nums = [num for num in range(100, 1000) if num == (num % 10) ** 3 + ((num // 10) % 10) ** 3 + (num // 100) ** 3]
print(narcissistic_nums[:3])
# 第三种方法
def is_narcissistic(num):
digit1 = num % 10
digit2 = (num // 10) % 10
digit3 = num // 100
return num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3
narcissistic_nums = list(filter(is_narcissistic, range(100, 1000)))
print(narcissistic_nums[:3])
```
这里给出了三种不同的方法来找到三个水仙花数。第一种方法使用循环和条件语句来逐个检查所有三位数,判断是否为水仙花数。第二种方法使用列表推导式,将所有水仙花数存储在列表中,并打印前三个。第三种方法定义了一个名为 `is_narcissistic` 的函数,该函数接受一个数字并返回一个布尔值,指示该数字是否为水仙花数。然后使用 `filter()` 函数和该函数来找到所有水仙花数,并将它们存储在列表中。
阅读全文