py面向对象 水仙花数 100—1000
时间: 2024-10-12 14:10:00 浏览: 20
在Python中,面向对象编程是一种常用的编程范式,它强调数据和操作数据的行为(即函数或方法)封装在一起形成对象。水仙花数,也称为 narcissistic number 或 pluperfect digital invariant,是指一个三位数,其各位数字立方之和等于该数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
为了查找100到1000范围内的所有水仙花数,你可以创建一个名为`narcissistic_numbers`的类,包含一个方法`is_narcissistic`,用于检查给定数字是否为水仙花。以下是简单的实现示例:
```python
class NarcissisticNumbers:
def is_narcissistic(self, num):
return sum(int(digit) ** 3 for digit in str(num)) == num
def find_water_lilies(start, end):
water_lilies = []
for num in range(start, end+1):
if NarcissisticNumbers().is_narcissistic(num):
water_lilies.append(num)
return water_lilies
# 查找100到1000之间的水仙花数
water_flowers_in_range = find_water_lilies(100, 1000)
print(f"100-1000之间的水仙花数有: {water_flowers_in_range}")
阅读全文