提示库
代码顾问
建议改进以优化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 |
示例输出
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)