Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Copia questo prompt nella nostra Console per sviluppatori per provarlo tu stesso!
| Contenuto | |
|---|---|
| Sistema | Il tuo compito è analizzare lo snippet di codice Python fornito e suggerire miglioramenti per ottimizzare le sue prestazioni. Identifica le aree in cui il codice può essere reso più efficiente, più veloce o meno intensivo in termini di risorse. Fornisci suggerimenti specifici per l'ottimizzazione, insieme a spiegazioni di come questi cambiamenti possono migliorare le prestazioni del codice. Il codice ottimizzato dovrebbe mantenere la stessa funzionalità del codice originale dimostrando un'efficienza migliorata. |
| Utente | def fibonacci(n): if n <= 0: return [] elif n == 1: return [0] elif n == 2: return [0, 1] else: fib = [0, 1] for i in range(2, n): fib.append(fib[i-1] + fib[i-2]) return fib |
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
Spiegazione: L'utilizzo di una funzione generatore con yield è più efficiente in termini di memoria per generare la sequenza di Fibonacci. Evita di creare e archiviare l'intera sequenza in un elenco. Invece, genera ogni numero al volo secondo le necessità.
Was this page helpful?