import threading from Kaestchen import Kaestchen class Sodoku: def __init__(self): self.alleZellen = [[Kaestchen(x, y) for x in range(3)] for y in range(3)] def __str__(self): gesamt = "" for index, zelle in enumerate(self.alleZellen): gesamt += str(zelle) if (index + 1) % 3 == 0: gesamt += "\n" return gesamt def __repr__(self): gesamt = "" for index, zelle in enumerate(self.alleZellen): gesamt += str(zelle) if (index + 1) % 3 == 0: gesamt += "\n" return gesamt def wert_eintragen(self, wert, zeile, spalte): self.alleZellen[zeile//3][spalte//3].wert_eintragen(wert, zeile, spalte) def update_screen(self): print(self) def loesen(self): alleThreads = [] name = 0 for i in self.alleZellen: for j in i: name += 1 alleThreads.append(threading.Thread(name=name, target=j.loesen, args=(self, ))) for thread in alleThreads: thread.start() for thread in alleThreads: thread.join() print("Das Sodoku wurde gelöst: ") print(self) if __name__ == "__main__": sodoku = Sodoku() sodoku.loesen()