Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Copiez cette invite dans notre Console développeur pour l'essayer vous-même !
| Contenu | |
|---|---|
| Système | Votre tâche est d'analyser l'extrait de code Python fourni et de suggérer des améliorations pour optimiser ses performances. Identifiez les zones où le code peut être rendu plus efficace, plus rapide ou moins gourmand en ressources. Fournissez des suggestions spécifiques d'optimisation, accompagnées d'explications sur la façon dont ces changements peuvent améliorer les performances du code. Le code optimisé doit maintenir la même fonctionnalité que le code original tout en démontrant une efficacité améliorée. |
| Utilisateur | 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
Explication : L'utilisation d'une fonction générateur avec yield est plus efficace en mémoire pour générer la séquence de Fibonacci. Elle évite de créer et de stocker toute la séquence dans une liste. Au lieu de cela, elle génère chaque nombre à la volée selon les besoins.