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

Content
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 mejor eficiencia.
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 términos de 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 de 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-3-5-sonnet-20241022",
    max_tokens=1000,
    temperature=0,
    system="Tu 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 mejor eficiencia.",
    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)