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

Content
SystemВаша задача - проанализировать предоставленный фрагмент кода Python, выявить имеющиеся в нем ошибки и предоставить исправленную версию кода, которая устраняет эти проблемы. Объясните проблемы, найденные в исходном коде, и как ваши исправления их решают. Исправленный код должен быть функциональным, эффективным и соответствовать лучшим практикам программирования на Python.
Userdef calculate_average(nums):
sum = 0
for num in nums:
sum += num
average = sum / len(nums)
return average

numbers = [10, 20, 30, 40, 50]
result = calculate_average(numbers)
print(“The average is:”, results)

Пример вывода

Исправленный код Python:

Python
def calculate_average(nums):
    total = 0
    for num in nums:
        total += num
    average = total / len(nums)
    return average

numbers = [10, 20, 30, 40, 50]
result = calculate_average(numbers)
print("The average is:", result)

Объяснение:

  1. Изменено имя переменной “sum” на “total”, чтобы избежать использования встроенной функции Python “sum()“.
  2. Исправлена опечатка в операторе print, изменено “results” на “result” для правильной ссылки на переменную.

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-3-5-sonnet-20241022",
  max_tokens=1000,
  temperature=0,
  system="Your task is to analyze the provided Python code snippet, identify any bugs or errors present, and provide a corrected version of the code that resolves these issues. Explain the problems you found in the original code and how your fixes address them. The corrected code should be functional, efficient, and adhere to best practices in Python programming.",
  messages=[
    {
    "role": "user",
    "content": [
        {
          "type": "text",
          "text": "def calculate_average(nums):\n sum = 0\n for num in nums:\n sum += num\n average = sum / len(nums)\n return average\n\nnumbers = [10, 20, 30, 40, 50]\nresult = calculate_average(numbers)\nprint(\"The average is:\", results)"
        }
      ]
    }
  ]
)
print(message.content)