实现输出斐波那契数列,输出个数由用户键盘输入决定(使用可迭代对象实现)
时间: 2023-08-12 12:19:00 浏览: 72
好的,这是一个简单的Python代码实现斐波那契数列,可以根据用户输入的个数输出对应数量的斐波那契数列:
```python
class Fibonacci:
def __init__(self, num):
self.num = num
def __iter__(self):
self.a = 0
self.b = 1
self.count = 0
return self
def __next__(self):
if self.count < self.num:
result = self.a
self.a, self.b = self.b, self.a + self.b
self.count += 1
return result
else:
raise StopIteration
num = int(input("请输入斐波那契数列的个数:"))
fib = Fibonacci(num)
for i in fib:
print(i)
```
在这段代码中,我们定义了一个`Fibonacci`类,它接收一个参数`num`,表示需要输出的斐波那契数列的个数。我们实现了一个`__iter__`方法,用于初始化迭代器,并将当前的斐波那契数列的前两个数值a和b分别初始化为0和1。然后,我们实现了一个`__next__`方法,用于返回每个斐波那契数列的值,并将a和b更新为下一个斐波那契数列的值。最后,在`for`循环中,我们使用`Fibonacci`类创建了一个迭代器对象,并遍历它,输出每个斐波那契数列的值。
阅读全文