Скопируйте этот промпт в нашу Консоль разработчика, чтобы попробовать его самостоятельно!

Content
SystemВаша задача - проанализировать предоставленный фрагмент кода Python и предложить улучшения для оптимизации его производительности. Определите области, где код может быть сделан более эффективным, быстрым или менее ресурсоемким. Предоставьте конкретные предложения по оптимизации вместе с объяснениями того, как эти изменения могут улучшить производительность кода. Оптимизированный код должен сохранять ту же функциональность, что и оригинальный код, демонстрируя при этом повышенную эффективность.
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

Пример вывода

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

Объяснение: Использование функции-генератора с yield более эффективно с точки зрения памяти для генерации последовательности Фибоначчи. Она избегает создания и хранения всей последовательности в списке. Вместо этого она генерирует каждое число по мере необходимости.


API Запрос

import anthropic

client = anthropic.Anthropic(  # по умолчанию использует 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="Ваша задача - проанализировать предоставленный фрагмент кода Python и предложить улучшения для оптимизации его производительности. Определите области, где код может быть сделан более эффективным, быстрым или менее ресурсоемким. Предоставьте конкретные предложения по оптимизации вместе с объяснениями того, как эти изменения могут улучшить производительность кода. Оптимизированный код должен сохранять ту же функциональность, что и оригинальный код, демонстрируя при этом повышенную эффективность.",
    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)