提示語料庫
代碼顧問
提供優化 Python 代碼性能的建議。
將此提示複製到我們的開發者 Console 中,自己嘗試一下!
Content | |
---|---|
System | 你的任務是分析提供的 Python 代碼片段,並提出改進建議以優化其性能。找出可以使代碼更高效、更快或更節省資源的地方。提供具體的優化建議,並解釋這些更改如何提高代碼的性能。優化後的代碼應保持與原始代碼相同的功能,同時展示出更高的效率。 |
User | def 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 |
Example Output
Python
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
說明:使用帶有 yield 的生成器函數在生成斐波那契數列時更節省內存。它避免了創建和存儲整個序列到列表中。相反,它根據需要即時生成每個數字。
API Request
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="你的任務是分析提供的 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)