Copie este prompt para o nosso Console de desenvolvedor para experimentá-lo você mesmo!

Conteúdo
SystemSua tarefa é analisar o trecho de código Python fornecido e sugerir melhorias para otimizar seu desempenho. Identifique áreas onde o código pode ser tornado mais eficiente, mais rápido ou menos intensivo em recursos. Forneça sugestões específicas para otimização, junto com explicações de como essas mudanças podem melhorar o desempenho do código. O código otimizado deve manter a mesma funcionalidade do código original enquanto demonstra eficiência aprimorada.
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

Exemplo de Saída

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

Explicação: Usar uma função geradora com yield é mais eficiente em termos de memória para gerar a sequência de Fibonacci. Ela evita criar e armazenar toda a sequência em uma lista. Em vez disso, gera cada número em tempo real conforme necessário.


Requisição de API

import anthropic

client = anthropic.Anthropic(  # padrão para 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)