da ich in Gänze meinen eigenen Code verstehe versuche ich das Sudokuproblem mit meinem Code zu lösen, was jedoch nicht funktioniert.
Die erste Zeile lässt sich noch problemlos anzeigen, aber mein verfluchtes Programm springt einfach nicht in die zweite Reihe und so weiter.
Kann mir einer einen Tipp geben?
Code: Alles auswählen
import numpy as np
import random
#Funktion für Füllen von Sudokuarray Zahl für Zahl beide Varianten funktionieren
def sudokuzahlfunktion1 (zeile,zahl,a,b,c,d,e,x):
i = np.isin(zahl,sudokuarray [0,:9]) or np.isin(zahl,sudokuarray[:,a]) or np.isin(zahl, sudokuarray[d:e,b:c])
if i == False:
sudokuarray [zeile,x] = zahl
#Erzeugt Array 9x9
sudokuarray = np.zeros(shape=(9,9))
#Definition der Funktionsparameter
zeile = 0
zahl = random.randrange(1,10)
a = 0
b = 0
c = 3
d = 0
e = 3
x = 0
wiederholungen = 0
#Prüfung ob eine 0 in erster Zeile von Array
abfrage = np.isin (0,sudokuarray[zeile,:9])
#wihle-Schleife um erste Zeile mit Zahlen zu füllen
while abfrage == True:
sudokuzahlfunktion1 (zeile,zahl,a,b,c,d,e,x)
if sudokuarray[zeile,x] != 0:
a = a + 1
x = x + 1
wiederholungen = wiederholungen + 1
elif wiederholungen == 3 or 6:
b = b+3
c = c+3
elif wiederholungen == 9 or 18 or 27 or 36 or 45 or 54 or 63 or 72:
zeile = zeile + 1
a = 0
b = 0
c = 3
d = 0
e = 3
x = 0
zahl = random.randrange(1,10)
abfrage = np.isin (0,sudokuarray[zeile,:9])
print (sudokuarray)
print (wiederholungen)
print (zeile)