py面向对象 水仙花数从 100—1000代码
时间: 2024-10-12 07:10:01 浏览: 17
在Python中,面向对象编程(Object-Oriented Programming,OOP)是一种常用的设计思想,通过创建类(Class)来封装数据和操作数据的方法。水仙花数(也叫 narcissistic number 或 pluperfect digital invariant),是指一个三位数,其各位数字的立方和等于它本身。
以下是一个简单的Python代码示例,用于找出100到1000之间的水仙花数:
```python
class NarcissisticNumber:
def __init__(self, num):
self.number = num
def is_narcissistic(self):
# 将数字转换为字符串并分开每一位
digits = [int(digit) for digit in str(self.number)]
# 计算每一位的立方和
sum_of_cubes = sum([digit**3 for digit in digits])
# 如果和等于原数,返回True,否则False
return sum_of_cubes == self.number
# 遍历100到1000之间的数字
for num in range(100, 1001):
if isinstance(num, int) and NarcissisticNumber(num).is_narcissistic():
print(f"{num} 是一个水仙花数")
阅读全文