Menu
CoddyTech

斐波那契迭代器

Coddy Python 迭代器 课程的第 11 课,共 13 课。

challenge icon

挑战

简单

创建一个 FibonacciIterator 类,用于生成不超过指定上限的斐波那契数。这个类应实现迭代器协议,并包含以下方法:

  • __init__(self, limit):使用上限初始化迭代器。
  • __iter__(self):返回迭代器对象本身。
  • __next__(self):生成下一个斐波那契数,或在达到上限时引发 StopIteration。

实现 FibonacciIterator 类后,使用输入值作为上限来创建它的实例。然后遍历斐波那契数,并在每个新行打印一个数,直到引发 StopIteration 异常。

将提供以下输入:

  • 一个表示斐波那契数列上限的整数

亲手试试

# 读取输入
limit = int(input())

class FibonacciIterator:
    def __init__(self, limit):
        self.limit = limit
        # TODO: 初始化其他必要的属性

    def __iter__(self):
        # TODO: 实现 __iter__ 方法

    def __next__(self):
        # TODO: 实现 __next__ 方法

# 创建一个 FibonacciIterator 实例
fib_iterator = FibonacciIterator(limit)

# TODO: 遍历斐波那契数并逐个打印
# 提示:使用 for 循环,或使用 while 循环配合 try-except 处理 StopIteration

# 打印斐波那契数的示例:
# print(fib_number)

Python 迭代器中的所有课

自己练习: Python 在线编译器