JUEGO SUDOKU
JUEGO SUDOKU
Antecedente:
Periódicamente publico una revista y deseo agregarle una sección donde la persona pueda resolver un sudoku, le daremos la opción de seleccionar el nivel de dificultad.
Objetivos
El sistema nos debe arrojar dos tableros: uno sin resolver y otro resuelto.
Crear con python un tablero de sudoku, el cual podrá tener hasta 5 niveles de dificultad. Los numeros deberan ser creados al random. Deberá imprimir la solución de tal forma que cumpla las siguientes reglas:
Es un tablero de 9 x 9 ( 9 filas y 9 columnas)
en cada fila solo habran numeros del 1 al 9, sin repetir
se separan en cajas de 3 x 3 donde debe haber numeros de 1 al 9 sin repetir.
Se revisa si el numero esta presente en la fila Se verifica si el numero esta presente en la columna para manejar el nivel de dificultad se manejara con la cantidad de datos que se dejan en el tablero, a mayor casillas faltantes mayor dificultad. el usuario tendrá la potestad de seleccionar la dificultad para crear el tablero.
Se imprime un tablero de 9 x 9 con casillas vacías luego imprime el tablero resuelto cumpliendo las condiciones
Esto es lo que necesito para mi revista, una propuesta y una solución de un tablero!
Bueno, dejaré la publicación del nivel 1 pero en mi revista colocare el nivel 2 , 4 y 5
En este caso se definieron algunas funciones en python que permitieran llegar al resultado:
1. Función para imprimir el tablero de Sudoku de manera visual
2 Función para verificar si un número se puede colocar en una posición específica
a. Verificar si el número ya está presente en la fila
b. Verificar si el número ya está presente en la columna
c.. Verificar si el número ya está presente en la región 3x3
3Función para resolver el Sudoku usando el algoritmo de vuelta atrás (backtracking)
4. Función para generar un tablero de Sudoku con un nivel de dificultad dado
5. Generar una permutación aleatoria de los números del 1 al 9
a. Llenar la primera fila del tablero con la permutación aleatoria
b. Retirar un número determinado de casillas según la dificultad
6. Función para solicitar al usuario la dificultad del Sudoku
7 Función principal del juego de Sudoku
8. Función para exportar a Excel la información y guardar en una carpeta específica
9. Jugar_sudoku ( donde se llaman todas las funciones)
Así es el resultado del juego
Ejemplo del Juego con una dificultad 2, los ceros son los números a descubrir
Esta es la solución del juego completa
Ya en la próxima revista se publicaran otros diferentes y las respuestas de estos ya que los resultados quedan en un archivo en Excel que permite copiar y pegar fácilmente en la revista.
GitHub de este ejercicio: https://github.com/QuimeraRios/JuegoSudoku