Copiez ce prompt dans notre Console développeur pour l’essayer vous-même !

Content
SystemVotre 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 meilleure efficacité.
Userdef 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 termes de 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 utilise os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    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 meilleure efficacité.",
    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)