Validador de entradas para un SUDOKU

En Algoritmos por
noviembre 23, 2016 6:21 pm

Deseaba compartirles un algoritmo que he hecho acerca de un SUDOKU, el objetivo básicamente es intentar llenar un sudoku, teniendo en cuenta las 3 condiciones de este juego:  No se debe repetir ningún número en una misma fila, columna o subcuadrícula.

El algoritmo no es perfecto, y la razón es que a la hora de llenar un sudoku, es necesario considerar todas la entradas (obviamente), cada entrada en si depende de muchas otras entradas, y he aquí problema, este algoritmo sólo considera una, la entrada que se va a almacenar en el momento (mas adelante entraré un poco en detalle).

Aquí se va a crear el tablero con entrada preestablecidas por el creador del sudoku

(aunque de todas formas hay que tabularlas)

La variable temporal (var_temp), es porque no se puede agregar al tablero, hasta no saber si el validador la acepta.

Esta función se encarga de evaluar todas las condiciones para que una entrada sea considerada ‘correcta’

Creamos una función que nos diga si el tablero está completamente lleno

Mientras el tablero tenga ceros me va a retornar False

Ahora llamamos a la función (llenar tablero)

(con el parámetro 9 que define el tamaño del tablero, en este caso 9×9), y la almaceno en la variable tablero.

POR ÚLTIMO PEDIR ENTRADAS HASTA QUE EL TABLERO ESTÉ COMPLETAMENTE LLENO  Y CONTROLANDO QUE NO VAYA A DIGITAR ENTRADAS  QUE NO ESTÉN EN UN INTERVALO DE [1,9]

Espero que les haya gustado, me esforcé mucho en la explicación, alguna duda, inconveniente, o sugerencia está bien recibida en los comentarios; como ustedes, yo también estoy aprendiendo

 


958 visitas