您现在的位置是: 首页 > 科技 >

新手必看! Python计算水仙花数的4种方法! 🌸💻

  • 2025-02-27 18:17:26
导读 🔥 水仙花数是一个三位数,其各个位上的数字立方之和等于该数本身。例如:153 = 1³ + 5³ + 3³。接下来,让我们一起探索如何使用P...

🔥 水仙花数是一个三位数,其各个位上的数字立方之和等于该数本身。例如: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寻找水仙花数的四种方法啦!你可以选择最适合你的方法进行实践哦!💪

免责声明:本文由用户上传,如有侵权请联系删除!
Top