Salin prompt ini ke Console pengembang 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 lebih hemat 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 urutan Fibonacci. Ini menghindari pembuatan dan penyimpanan seluruh urutan dalam daftar. Sebaliknya, ia menghasilkan setiap angka secara on-the-fly sesuai kebutuhan.


Permintaan API

Catatan: Claude 3 Opus akan segera hadir di API 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="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 lebih hemat 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)