¡Copia este prompt en nuestra Consola de desarrollador 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 pueda hacerse más eficiente, 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 de API

Nota: Claude 3 Opus llegará pronto a la API de Bedrock.

import anthropic

client = anthropic.Anthropic( # defaults to os.environ.get("ANTHROPIC_API_KEY")
api_key="my_api_key",
)
message = client.messages.create(
model="claude-3-opus-20240229",
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 pueda hacerse más eficiente, 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.",
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)