Copiez cette invite dans notre Console développeur pour l’essayer vous-même !
Contenu
SystèmeVotre 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.
Utilisateurdef 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

Exemple de sortie

Python
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.

Requête API

import anthropic

client = anthropic.Anthropic(  # par défaut os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1000,
    temperature=0,
    system="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.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "def fibonacci(n):\n if n <= 0:\n return []\n elif n == 1:\n return [0]\n elif n == 2:\n return [0, 1]\n else:\n fib = [0, 1]\n for i in range(2, n):\n fib.append(fib[i-1] + fib[i-2])\n return fib",
                }
            ],
        }
    ],
)
print(message.content)