Einen Sudoku-Generator in Python programmieren

Mit unserem Sudoku-Generator erstellen Sie im Handumdrehen eigene Zahlenrätsel. Ganz nebenbei lernen Sie, wie man ein solches Programm in Python realisiert.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
, Thorsten Hübner

(Bild: Thorsten Hübner)

Lesezeit: 12 Min.
Inhaltsverzeichnis

Logikrätsel wie Sudokus trainieren nicht nur das Gehirn, sondern geben auch eine prima Programmierübung ab. Die Regeln sind einfach: Jede Reihe, jede Spalte und jeder Kasten eines Sudokus muss die Zahlen 1 bis 9 enthalten, aber keine davon darf mehrfach vorkommen. Ein Soduko zu erstellen, ist dagegen schwieriger: Der naive Programmieransatz, ein Array der Größe 9 × 9 aufzuspannen und mit ein paar Zufallszahlen zu füllen, die nicht gegen die Spielregeln verstoßen, führt selten zum Erfolg. Denn man kann nicht ausschließen, dass mehrere Lösungen existieren.

Sudoku-Generatoren gibt es in Hülle und Fülle, eine Variante beschreiben wir in diesem Artikel: Zuerst erzeugt unser Programm ein vollständig gelöstes Sudoku. Danach entfernt es eine Zahl und prüft, ob das Sudoku nur eine Lösung besitzt. Diesen Schritt wiederholt es so lange, bis genügend Felder leer sind. Damit Sie das fertige Sudoku auch per Stift und Papier lösen können, exportiert unser Programm das Rätsel als Vektorgrafik.

Mehr zum Programmieren mit Python

Wenn es Ihnen schon unter den Fingern brennt und Sie erste Sudokus lösen wollen, dann finden Sie den gesamten Code im GitHub-Repository. Außerdem noch ein reinen Solver, der für ein gegebenes Sudoku alle möglichen Lösungen findet.

Immer mehr Wissen. Das digitale Abo für IT und Technik.






Immer mehr Wissen. Das digitale Abo für IT und Technik.