Python: Wie kann ich feld1 bis feld7 so zusammenfassen, sodass ich das nicht alles einzeln eingeben muss?

2 Antworten

vielleicht besser du postest sowas auf pastebin.com und hier den link dann dazu.

generell wird sowas in arrays gemacht , alo sowas wie feld[index] und das ganze in for schleifen wenn es immer das gleiche sein soll .

Benutzer2002410 
Fragesteller
 01.04.2019, 20:58

mit arrays hab ich es schon probiert aber danke

0
RakonDark  01.04.2019, 21:00
@Benutzer2002410

dann hast du es falsch gemacht. den das ist die standard lösung in allen programmiersprachen . nur musst du auch das richtige array nutzen .

0
RakonDark  01.04.2019, 21:41
@Benutzer2002410

dazu müsstest du erstmal dein code richtig posten (hab ich ja beschrieben wie man das macht) . und vielleicht deinen versuch mit array auch noch dazu . schließlich willst du hier hilfe und mti deinem copy paste kann keine sau was anfangen .

0
RakonDark  02.04.2019, 15:15
@RakonDark

wobei das nicht so einfach sein wird , denn column und row ändet sich ja , aber auch da kann man einiges machen , musst halt eine logik finden wie sich sowas aufbauen lässt , z.b. mit for und if in kombination .

0
RakonDark  02.04.2019, 15:21
@RakonDark

z.b. kann man dein grid einfach mit 2 for schleifen in einander aufbauen .
eine for schleife für column und dadrinne dann eine schleife für row
dann brauch man nur 1 zeile .

0

Mit Listen, Schleifen und gegebenenfalls auch Funktionen lässt sich dein Quelltext erheblich verkürzen.

Schau zunächst nach Code, der sich öfter wiederholt und bilde zu diesem Abstraktionen / eine jeweils allgemeine Regel.

Ein Beispiel wäre das Erstellen der Frames:

fields = []

for i in range(0, 8):
  field = tk.Frame(bg=r, width=300, height=300)
  fields.append(field)

oder hier bei der Prüfung in deiner Funktion:

if fields[0]["bg"] == r:
  for field in range(len(fields)):
    fields[i].config(bg=g)

# etc. ...
Benutzer2002410 
Fragesteller
 02.04.2019, 14:32

Danke! Ich verbesser das dann mal haha :)

0