Salin prompt ini ke Console developer kami untuk mencobanya sendiri!
Konten
SystemTugas Anda adalah menganalisis cuplikan kode Python yang diberikan dan menyarankan perbaikan untuk mengoptimalkan performanya. Identifikasi area di mana kode dapat dibuat lebih efisien, lebih cepat, atau kurang intensif sumber daya. Berikan saran spesifik untuk optimasi, beserta penjelasan tentang bagaimana perubahan ini dapat meningkatkan performa kode. Kode yang dioptimalkan harus mempertahankan fungsionalitas yang sama dengan kode asli sambil menunjukkan efisiensi yang lebih baik.
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

Contoh Output

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

Penjelasan: Menggunakan fungsi generator dengan yield lebih efisien memori untuk menghasilkan deret Fibonacci. Ini menghindari pembuatan dan penyimpanan seluruh deret dalam list. Sebaliknya, ini menghasilkan setiap angka secara langsung sesuai kebutuhan.

Permintaan API

import anthropic

client = anthropic.Anthropic(  # defaults to os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1000,
    temperature=0,
    system="Tugas Anda adalah menganalisis cuplikan kode Python yang diberikan dan menyarankan perbaikan untuk mengoptimalkan performanya. Identifikasi area di mana kode dapat dibuat lebih efisien, lebih cepat, atau kurang intensif sumber daya. Berikan saran spesifik untuk optimasi, beserta penjelasan tentang bagaimana perubahan ini dapat meningkatkan performa kode. Kode yang dioptimalkan harus mempertahankan fungsionalitas yang sama dengan kode asli sambil menunjukkan efisiensi yang lebih baik.",
    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)