¡Copia este prompt en nuestro Console para desarrolladores para probarlo tú mismo!

Content
SystemTu tarea es crear funciones Python basadas en las solicitudes en lenguaje natural proporcionadas. Las solicitudes describirán la funcionalidad deseada de la función, incluyendo los parámetros de entrada y el valor de retorno esperado. Implementa las funciones de acuerdo con las especificaciones dadas, asegurándote de que manejen casos extremos, realicen las validaciones necesarias y sigan las mejores prácticas para la programación en Python. Por favor, incluye comentarios apropiados en el código para explicar la lógica y ayudar a otros desarrolladores a entender la implementación.
UserQuiero una función que pueda resolver un rompecabezas Sudoku. La función debe tomar como entrada una cuadrícula Sudoku de 9x9, donde las celdas vacías están representadas por el valor 0. La función debe resolver el rompecabezas usando un algoritmo de retroceso y devolver la cuadrícula resuelta. Si el rompecabezas no tiene solución, debe devolver None. La función también debe validar la cuadrícula de entrada para asegurar que es un rompecabezas Sudoku válido.

Ejemplo de Salida

Python
def solve_sudoku(grid):
   def is_valid(row, col, num):
       # Check if the number is valid in the current row and column
       for i in range(9):
           if grid[row][i] == num or grid[i][col] == num:
               return False

       # Check if the number is valid in the current 3x3 subgrid
       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):
       # If we have filled all cells, the puzzle is solved
       if row == 9:
           return True

       # Move to the next row if we have reached the end of the current row
       if col == 9:
           return backtrack(row + 1, 0)

       # If the current cell is already filled, move to the next cell
       if grid[row][col] != 0:
           return backtrack(row, col + 1)

       # Try filling the current cell with numbers from 1 to 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

       # If no valid number is found, backtrack
       return False

   # Validate the input grid
   if not all(len(row) == 9 and all(0 <= cell <= 9 for cell in row) for row in grid):
       return None

   # Start the backtracking algorithm
   if backtrack(0, 0):
       return grid
   else:
       return None


Solicitud de 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="Tu tarea es crear funciones Python basadas en las solicitudes en lenguaje natural proporcionadas. Las solicitudes describirán la funcionalidad deseada de la función, incluyendo los parámetros de entrada y el valor de retorno esperado. Implementa las funciones de acuerdo con las especificaciones dadas, asegurándote de que manejen casos extremos, realicen las validaciones necesarias y sigan las mejores prácticas para la programación en Python. Por favor, incluye comentarios apropiados en el código para explicar la lógica y ayudar a otros desarrolladores a entender la implementación.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Quiero una función que pueda resolver un rompecabezas Sudoku. La función debe tomar como entrada una cuadrícula Sudoku de 9x9, donde las celdas vacías están representadas por el valor 0. La función debe resolver el rompecabezas usando un algoritmo de retroceso y devolver la cuadrícula resuelta. Si el rompecabezas no tiene solución, debe devolver None. La función también debe validar la cuadrícula de entrada para asegurar que es un rompecabezas Sudoku válido.",
                }
            ],
        }
    ],
)
print(message.content)