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

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-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)