¡Copia este prompt en nuestra Consola para desarrolladores para probarlo tú mismo!

Contenido
SystemTu tarea es analizar el fragmento de código Python proporcionado y sugerir mejoras para optimizar su rendimiento. Identifica áreas donde el código puede hacerse más eficiente, más rápido o menos intensivo en recursos. Proporciona sugerencias específicas para la optimización, junto con explicaciones de cómo estos cambios pueden mejorar el rendimiento del código. El código optimizado debe mantener la misma funcionalidad que el código original mientras demuestra una eficiencia mejorada.
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

Ejemplo de Salida

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

Explicación: Usar una función generadora con yield es más eficiente en memoria para generar la secuencia de Fibonacci. Evita crear y almacenar toda la secuencia en una lista. En su lugar, genera cada número sobre la marcha según sea necesario.


Solicitud API

import anthropic

client = anthropic.Anthropic(  # por defecto usa 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)