🔥 水仙花数是一个三位数,其各个位上的数字立方之和等于该数本身。例如:153 = 1³ + 5³ + 3³。接下来,让我们一起探索如何使用Python来找出这些神奇的数字吧!🚀
👩💻 方法一:传统循环法
```python
for num in range(100, 1000):
digit1 = num // 100
digit2 = (num % 100) // 10
digit3 = num % 10
if digit13 + digit23 + digit33 == num:
print(num)
```
🌸 这是最直接的方法,通过遍历所有三位数并检查每个数是否满足条件。
👩💻 方法二:列表推导式
```python
narcissistic_numbers = [num for num in range(100, 1000) if sum(int(digit)3 for digit in str(num)) == num]
print(narcissistic_numbers)
```
🌺 使用列表推导式可以更加简洁地实现相同的功能。
👩💻 方法三:函数封装
```python
def find_narcissistic():
return [num for num in range(100, 1000) if sum(int(digit)3 for digit in str(num)) == num]
print(find_narcissistic())
```
🌼 将功能封装到一个函数中,方便复用代码。
👩💻 方法四:递归法
```python
def is_narcissistic(num):
if num < 100 or num > 999:
return False
digits = [int(d) for d in str(num)]
return sum(digit3 for digit in digits) == num
narcissistic_numbers = [num for num in range(100, 1000) if is_narcissistic(num)]
print(narcissistic_numbers)
```
💐 使用递归的方式检查每个数是否为水仙花数。
以上就是使用Python寻找水仙花数的四种方法啦!你可以选择最适合你的方法进行实践哦!💪