ich bin dabei, hobbymäßig etwas Programmieren zu lernen, indem ich mit Python versuche einen str8tssolver zu realisieren. (str8ts ist ein Zahlenrätsel ähnlich Sudoku aber mit komplexeren Regeln.) Ich komme auch ganz gut voran, scheitere jetzt aber an einem Problem, das sich simpel anhört, sicher auch einfach zu realisieren ist, ich aber auch nach vielen Stunden Nachdenkens und Probierens nicht weiter weiß. Das liegt wohl daran, dass ich nicht wirklich verstanden habe, wie das Iterieren genau abläuft.
Ich versuche, nur das zu beschreiben, was für die Fragestellung von Bedeutung ist:
Das Spiel hat 36 Felder, numeriert von 0 bis 35. Jedem Feld sind diverse Variable zugeordnet, die in dem Array "fe" definiert sind. Eine Variable ist die Zahl, die auf dem Feld steht (die Zahlen 1 bis 6 sind möglich) eine andere Variable die Straße fe[3], zu der das Feld gehört.
Das Spiel hat maximal 18 Straßen, numeriert von 0 bis 17. Jeder Straße sind diverse Variable zugeordnet, die in dem Array "stze" definiert sind. Eine Variable ist die Liste der Feldnummern stze[4][n], die zu der Straße gehören (2 bis 6 Feldnummern sind möglich).
Im Array "fe" sind durch die vorhandenen Funktionen bereits die Straßen eingetragen. Jetzt sollen im Array "stze" die Feldnummern stze[4][n] dazu eingetragen werden, und daran scheitere ich. Folgender simpler Ansatz kommt von denen, die mir eingefallen sind, noch am nächsten:
Code: Alles auswählen
for i in range(36):
for m in range(18):
for n in range(6):
if fe[i][3] == stze[m][0]:
stze[m][4][n] = fe[i][0]
Ich weiß, dass der beschriebene Lösungsversuch den Eindruck erweckt, als ob ich es mir sehr leicht gemacht habe. Aber ich habe wirklich diverse Wege versucht, ohne Erfolg. Den "Offenen Brief an Pythonneulinge" habe ich gelesen, aber auch die dort empfohle/geforderte Suche nach for-Schleife, Iteration, Bedingte Anweisung usw. hat mir auch nicht weiter geholfen.
Ist jemand bereit, mir zu helfen, mit Formulierungen, die ein Anfänger verstehen kann?
Wie ihr seht, komme ich mit der MoinWikiSyntax nicht klar, ich bitte das zu entschuldigen.