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

Contenu
SystemVotre tâche est de créer des fonctions Python basées sur les demandes en langage naturel fournies. Les demandes décriront la fonctionnalité souhaitée de la fonction, y compris les paramètres d’entrée et la valeur de retour attendue. Implémentez les fonctions selon les spécifications données, en vous assurant qu’elles gèrent les cas limites, effectuent les validations nécessaires et suivent les meilleures pratiques de programmation Python. Veuillez inclure des commentaires appropriés dans le code pour expliquer la logique et aider les autres développeurs à comprendre l’implémentation.
UserJe veux une fonction qui peut résoudre un puzzle Sudoku. La fonction doit prendre comme entrée une grille Sudoku 9x9, où les cellules vides sont représentées par la valeur 0. La fonction doit résoudre le puzzle en utilisant un algorithme de retour sur trace et retourner la grille résolue. Si le puzzle est impossible à résoudre, elle doit retourner None. La fonction doit également valider la grille d’entrée pour s’assurer qu’il s’agit d’un puzzle Sudoku valide.

Exemple de sortie

Python
def solve_sudoku(grid):
   def is_valid(row, col, num):
       # Vérifier si le nombre est valide dans la ligne et la colonne actuelles
       for i in range(9):
           if grid[row][i] == num or grid[i][col] == num:
               return False

       # Vérifier si le nombre est valide dans la sous-grille 3x3 actuelle
       start_row, start_col = (row // 3) * 3, (col // 3) * 3
       for i in range(3):
           for j in range(3):
               if grid[start_row + i][start_col + j] == num:
                   return False

       return True

   def backtrack(row, col):
       # Si nous avons rempli toutes les cellules, le puzzle est résolu
       if row == 9:
           return True

       # Passer à la ligne suivante si nous avons atteint la fin de la ligne actuelle
       if col == 9:
           return backtrack(row + 1, 0)

       # Si la cellule actuelle est déjà remplie, passer à la cellule suivante
       if grid[row][col] != 0:
           return backtrack(row, col + 1)

       # Essayer de remplir la cellule actuelle avec des nombres de 1 à 9
       for num in range(1, 10):
           if is_valid(row, col, num):
               grid[row][col] = num
               if backtrack(row, col + 1):
                   return True
               grid[row][col] = 0

       # Si aucun nombre valide n'est trouvé, retour sur trace
       return False

   # Valider la grille d'entrée
   if not all(len(row) == 9 and all(0 <= cell <= 9 for cell in row) for row in grid):
       return None

   # Démarrer l'algorithme de retour sur trace
   if backtrack(0, 0):
       return grid
   else:
       return None


Requête API

import anthropic

client = anthropic.Anthropic(  # par défaut à 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="Votre tâche est de créer des fonctions Python basées sur les demandes en langage naturel fournies. Les demandes décriront la fonctionnalité souhaitée de la fonction, y compris les paramètres d'entrée et la valeur de retour attendue. Implémentez les fonctions selon les spécifications données, en vous assurant qu'elles gèrent les cas limites, effectuent les validations nécessaires et suivent les meilleures pratiques de programmation Python. Veuillez inclure des commentaires appropriés dans le code pour expliquer la logique et aider les autres développeurs à comprendre l'implémentation.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Je veux une fonction qui peut résoudre un puzzle Sudoku. La fonction doit prendre comme entrée une grille Sudoku 9x9, où les cellules vides sont représentées par la valeur 0. La fonction doit résoudre le puzzle en utilisant un algorithme de retour sur trace et retourner la grille résolue. Si le puzzle est impossible à résoudre, elle doit retourner None. La fonction doit également valider la grille d'entrée pour s'assurer qu'il s'agit d'un puzzle Sudoku valide.",
                }
            ],
        }
    ],
)
print(message.content)