py面向对象 水仙花数
时间: 2024-10-12 17:09:53 浏览: 22
在Python中,面向对象编程(OOP)是一种程序设计范式,它强调将数据和操作数据的方法组织成独立的对象。水仙花数是一个有趣的数学概念,指的是那些每一位数字立方和等于其本身的三位数。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
在Python中,你可以定义一个类来处理水仙花数。下面是一个简单的例子:
```python
class N NarcissisticNumber:
def __init__(self, number):
self.number = number
def is_narcissistic(self):
digits = [int(d) for d in str(self.number)]
return sum([digit ** len(digits) for digit in digits]) == self.number
# 使用示例
def find_water_lily_numbers(n):
water_lilies = []
for num in range(100, n+1):
if NarcissisticNumber(num).is_narcissistic():
water_lilies.append(num)
return water_lilies
# 测试
n = 1000
print(find_water_lily_numbers(n))
阅读全文