Iterator Fibonacciego
Lekcja 11 z 13 w kursie Iteratory w Pythonie w Coddy.
Wyzwanie
ŁatwyUtwó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
4Zadania praktyczne
Iterator o niestandardowym zakresieIterator FibonacciegoIterator cyklicznyIterator filtrujący2Tworzenie własnych iteratorów
Implementowanie __iter__()Implementowanie __next__()Iteratory nieskończonePoćwicz samodzielnie: Kompilator Python online