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

Contenu
SystemVotre tâche consiste à analyser l’extrait de code Python fourni et à 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 conserver la même fonctionnalité que le code original tout en démontrant une efficacité améliorée.
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ératrice 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-opus-4-20250514",
    max_tokens=1000,
    temperature=0,
    system="Your task is to analyze the provided Python code snippet and suggest improvements to optimize its performance. Identify areas where the code can be made more efficient, faster, or less resource-intensive. Provide specific suggestions for optimization, along with explanations of how these changes can enhance the code's performance. The optimized code should maintain the same functionality as the original code while demonstrating improved efficiency.",
    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)