Aller au contenu

Idées de projet⚓︎

Un solveur de Sudoku⚓︎

Conseils

  1. On choisira une représentation interne sous forme de liste d'entiers de 0 à 9. Un zéro indique une case inconnue.
  2. On construira une fonction affiche qui produit un affichage classique avec des . à la place des 0, ainsi qu'un motif en forme de grille de 3×3 grilles de 3×3 entiers chacune.
  3. On construira une fonction qui vérifie une solution proposée.
  4. On construira une fonction possibles qui donne pour chaque case libre les nombres possibles.
  5. On construira une fonction indice_meilleur_trou qui renvoie l'indice du prochain nombre inconnu ayant le moins de cas possibles, ou bien None s'il n'y en a pas.
  6. On construira une fonction récursive resoud qui renvoie un tuple de deux valeurs :
    • un booléen possible : indiquant si le sudoku peut être résolu.
    • la liste correspondant au sudoku résolu si possible vaut True, sinon, n'importe quelle liste.