Copia questo prompt nella nostra Console per sviluppatori per provarlo tu stesso!

Contenuto
SystemIl 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 dispendioso in termini di risorse. Fornisci suggerimenti specifici per l’ottimizzazione, insieme a spiegazioni di come queste modifiche possono migliorare le prestazioni del codice. Il codice ottimizzato dovrebbe mantenere la stessa funzionalità del codice originale dimostrando al contempo una maggiore efficienza.
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

Output di esempio

Python
def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

Spiegazione: Utilizzare una funzione generatore con yield è più efficiente in termini di memoria per generare la sequenza di Fibonacci. Evita di creare e memorizzare l’intera sequenza in una lista. Invece, genera ogni numero al volo quando necessario.


Richiesta API

import anthropic

client = anthropic.Anthropic(  # predefinito a 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)