# In diesem Beispiel werden Parameter verwendet, sodass # Spielfelder beliebiger Größe erzeugt werden können. # Darauf könnte verzichtet werden (8 stattdessen). def printLinien(breite): print(breite * " ---") # Wir übergeben die Zeilennummer, damit je nachdem ob die # Zeile gerade oder ungerade ist SWSW... oder WSWS... # ausgegeben wird. Wir nutzen hier den Trick, durch den # (Schlüsselwort-)Parameter end nach print nicht in eine # neue Zeile zu wechseln, indem wir diesen auf "" setzen # (standardmäßig: end="\n"). Sonst: Verketten und dann ausgeben. def printTrennzeichen(breite, zeilennummer): zeilenbedingung = zeilennummer % 2 # mit S / W anfangen bei 1 / 0 for i in range(breite): if i%2 == zeilenbedingung: print("| W ", end="") else: print("| S ", end="") print("|") def printSpielfeld(breite, hoehe): if breite <= 0 or hoehe <= 0: # Ungültige Eingabe - nichts ausgeben return # sonst: for i in range(hoehe): printLinien(breite) printTrennzeichen(breite, i) else: # -> ginge auch vor der for-Schleife (-> Fencepost-Problem) printLinien(breite) # Test (b): printSpielfeld(8, 8)