Iteratore di Fibonacci
Lezione 11 di 13 del corso Iteratori in Python di Coddy.
Sfida
FacileCrea una classe FibonacciIterator che genera numeri di Fibonacci fino a un limite specificato. La classe deve implementare il protocollo iteratore e avere i seguenti metodi:
__init__(self, limit): Inizializza l'iteratore con un limite.__iter__(self): Restituisce l'oggetto iteratore stesso.__next__(self): Genera il numero di Fibonacci successivo oppure solleva StopIteration quando viene raggiunto il limite.
Dopo aver implementato la classe FibonacciIterator, creane un'istanza usando il valore di input come limite. Quindi, scorri i numeri di Fibonacci e stampa ciascun numero su una nuova riga finché non viene sollevata l'eccezione StopIteration.
Verrà fornito il seguente input:
- Un numero intero che rappresenta il limite superiore della sequenza di Fibonacci
Provalo tu
# Leggi l'input
limit = int(input())
class FibonacciIterator:
def __init__(self, limit):
self.limit = limit
# TODO: Inizializza gli altri attributi necessari
def __iter__(self):
# TODO: Implementa il metodo __iter__
def __next__(self):
# TODO: Implementa il metodo __next__
# Crea un'istanza di FibonacciIterator
fib_iterator = FibonacciIterator(limit)
# TODO: Scorri i numeri di Fibonacci e stampa ciascun numero
# Suggerimento: usa un ciclo for o while con try-except per gestire StopIteration
# Esempio di come stampare un numero di Fibonacci:
# print(fib_number)Tutte le lezioni di Iteratori in Python
4Sfide pratiche
Iteratore di intervallo personalizzatoIteratore di FibonacciIteratore ciclicoIteratore filtratoEsercitati da solo: Compilatore Python online