Schachbrettmuster in Python?

2 Antworten

Ich denke mal, dass dein Code beim reinkopieren etwas durcheinander geraten ist, weil er so gar nicht läuft.

Vermutlich sah er vorher so aus:

n = 4

for i in range(0, n):
  for j in range(0, n):
    print("X", end="")
    print("O", end="")
  print() 

Das bedeutet im Prinzip "Schreibe in jede Zeile vier mal 'XO'."

Was du eigentlich wolltest, ist wahrscheinlich, dass sich X und O immer abwechseln und auch jede Zeile abwechselnd mit X oder O anfängt. Das geht am besten, indem du prüfst, ob die Zeile plus Spalte eine gerade Zahl ergibt.

def print_chessboard(size: int):
    for row in range(size):
        for col in range(size):
            print("X" if (row+col)%2==0 else "O", end="")
        print()

print_chessboard(8)
Anatomie2014 
Fragesteller
 07.10.2021, 10:57

Ja, du hast total recht, mein Code ist komisch reinkopiert worden von mir. Wow, danke deine Antwort war echt hilfreich

0

Dein Code bedeutet soviel wie: "Für jede Zahl von 1 bis n, schreibe erst ein X und dann ein O". Wenn du eine 4 eingibst, dann werden deshalb 4 mal ein X und 4 mal ein O geschrieben.

Hilft dir das weiter?