Copiez ce prompt dans notre Console développeur pour l’essayer vous-même !

Contenu
SystemVotre tâche est d’analyser l’extrait de code Python fourni, d’identifier les bogues ou erreurs présents, et de fournir une version corrigée du code qui résout ces problèmes. Expliquez les problèmes trouvés dans le code original et comment vos corrections les résolvent. Le code corrigé doit être fonctionnel, efficace et respecter les meilleures pratiques en programmation 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)

Exemple de sortie

Code Python corrigé :

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)

Explication :

  1. Changement du nom de variable “sum” en “total” pour éviter d’utiliser la fonction intégrée Python “sum()”.
  2. Correction de la faute de frappe dans l’instruction print, en changeant “results” en “result” pour référencer correctement la variable.

Requête 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-7-sonnet-20250219",
  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)