Menu
Coddy logo textTech

Iterator Fibonacciego

Lekcja 11 z 13 w kursie Iteratory w Pythonie w Coddy.

challenge icon

Wyzwanie

Łatwy

Utwórz klasę FibonacciIterator, która generuje liczby Fibonacciego do określonego limitu. Klasa powinna implementować protokół iteratora i mieć następujące metody:

  • __init__(self, limit): Zainicjuj iterator z limitem.
  • __iter__(self): Zwróć sam obiekt iteratora.
  • __next__(self): Wygeneruj następną liczbę Fibonacciego lub zgłoś StopIteration po osiągnięciu limitu.

Po zaimplementowaniu klasy FibonacciIterator utwórz jej instancję, używając wartości wejściowej jako limitu. Następnie iteruj po liczbach Fibonacciego i wypisuj każdą z nich w nowym wierszu, aż zostanie zgłoszony wyjątek StopIteration.

Dane wejściowe będą następujące:

  • Liczba całkowita reprezentująca górny limit ciągu Fibonacciego

Spróbuj swoich sił

# Odczytaj dane wejściowe
limit = int(input())

class FibonacciIterator:
    def __init__(self, limit):
        self.limit = limit
        # TODO: Zainicjalizuj pozostałe niezbędne atrybuty

    def __iter__(self):
        # TODO: Zaimplementuj metodę __iter__

    def __next__(self):
        # TODO: Zaimplementuj metodę __next__

# Utwórz instancję FibonacciIterator
fib_iterator = FibonacciIterator(limit)

# TODO: Przejdź przez liczby Fibonacciego i wypisz każdą z nich
# Wskazówka: Użyj pętli for lub while z try-except, aby obsłużyć StopIteration

# Przykład wypisywania liczby Fibonacciego:
# print(fib_number)

Wszystkie lekcje w sekcji Iteratory w Pythonie

Poćwicz samodzielnie: Kompilator Python online