Copiez cette invite dans notre Console de 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 devrait prendre une grille Sudoku 9x9 en entrée, où les cellules vides sont représentées par la valeur 0. La fonction devrait résoudre le puzzle en utilisant un algorithme de backtracking et retourner la grille résolue. Si le puzzle est insoluble, elle devrait retourner None. La fonction devrait é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érifie 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érifie 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 toutes les cellules sont remplies, le puzzle est résolu
       if row == 9:
           return True

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

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

       # Essaie 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é, fait un backtrack
       return False

   # Valide 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émarre l'algorithme de backtracking
   if backtrack(0, 0):
       return grid
   else:
       return None


Requête API

Note : Claude 3 Opus arrive bientôt sur l’API Bedrock.

import anthropic

client = anthropic.Anthropic( # par défaut utilise os.environ.get("ANTHROPIC_API_KEY")
api_key="ma_clé_api",
)
message = client.messages.create(
model="claude-3-opus-20240229",
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 devrait prendre une grille Sudoku 9x9 en entrée, où les cellules vides sont représentées par la valeur 0. La fonction devrait résoudre le puzzle en utilisant un algorithme de backtracking et retourner la grille résolue. Si le puzzle est insoluble, elle devrait retourner None. La fonction devrait également valider la grille d'entrée pour s'assurer qu'il s'agit d'un puzzle Sudoku valide."
}
]
}
]
)
print(message.content)