Biblioteca de Prompts
Fabricador de funciones
Crea funciones de Python basadas en especificaciones detalladas.
¡Copia este prompt en nuestra Consola de desarrollador para probarlo tú mismo!
Contenido | |
---|---|
System | Tu tarea es crear funciones de 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. |
User | Quiero una función que pueda resolver un rompecabezas de Sudoku. La función debe tomar una cuadrícula de Sudoku de 9x9 como entrada, donde las celdas vacías se representan con el valor 0. La función debe resolver el rompecabezas utilizando un algoritmo de backtracking 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 asegurarse de que es un rompecabezas de Sudoku válido. |
Ejemplo de salida
Python
def solve_sudoku(grid):
def is_valid(row, col, num):
# Verifica si el número es válido en la fila y columna actual
for i in range(9):
if grid[row][i] == num or grid[i][col] == num:
return False
# Verifica si el número es válido en la subcuadrícula 3x3 actual
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 hemos llenado todas las celdas, el rompecabezas está resuelto
if row == 9:
return True
# Pasa a la siguiente fila si hemos llegado al final de la fila actual
if col == 9:
return backtrack(row + 1, 0)
# Si la celda actual ya está llena, pasa a la siguiente celda
if grid[row][col] != 0:
return backtrack(row, col + 1)
# Intenta llenar la celda actual con números del 1 al 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 no se encuentra un número válido, retrocede
return False
# Valida la cuadrícula de entrada
if not all(len(row) == 9 and all(0 <= cell <= 9 for cell in row) for row in grid):
return None
# Inicia el algoritmo de backtracking
if backtrack(0, 0):
return grid
else:
return None
Solicitud a la 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-opus-20240229",
max_tokens=1000,
temperature=0,
system="Tu tarea es crear funciones de 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 de Sudoku. La función debe tomar una cuadrícula de Sudoku de 9x9 como entrada, donde las celdas vacías se representan con el valor 0. La función debe resolver el rompecabezas utilizando un algoritmo de backtracking 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 asegurarse de que es un rompecabezas de Sudoku válido."
}
]
}
]
)
print(message.content)