Seite 1 von 1
Matrix erstellen
Verfasst: Donnerstag 23. Mai 2019, 11:18
von gromeroe
Code: Alles auswählen
for i in range(8):
print("")
for j in range(0,8):
print("+",end=" ")
Ich habe eine Matrix erstellt, möchte aber zum Beispiel in der Diagonalen ein - stehen haben. Oder ein Gittermuster
Hat einer eine Idee wie das geht?
Re: Matrix erstellen
Verfasst: Freitag 24. Mai 2019, 05:08
von sls
Das kannst du mit if / else anstellen. Du musst dir überlegen welche Bedingung(en) zutreffen muss, damit ein "-" anstelle des "+" ausgegeben werden soll.
Beispiel für die Diagonalen (wenn ich dein Problem richtig verstanden habe):
Code: Alles auswählen
length = 9
for outer in range(length):
for inner in range(0, length):
if inner == outer or inner == (length-1 - outer):
print("-", end=" ")
else:
print("+", end=" ")
print()
Re: Matrix erstellen
Verfasst: Freitag 24. Mai 2019, 05:46
von sls
Noch ein paar Anmerkungen:
`length` gibt die Zählweite an, somit musst du nicht händisch im Code an mehreren Stellen die Zahl ändern, das kann schnell dazu führen dass du es an einer Stelle vergisst. Die 9 ist obligatorisch, da kann auch 8, 100 oder eine andere Zahl stehen.
Das print("") in der äußeren Schleife ist an der falschen stelle, es würde gleich zu Beginn eine leere Zeile ausgeben, print() und print("") haben den selben Effekt.
Als Standardstartwert für range() gilt die 0, somit ist range(0, length) unnötig, ich kann das allerdings nicht mehr in meinem vorherigen Beitrag korrigieren.
Re: Matrix erstellen
Verfasst: Freitag 24. Mai 2019, 07:42
von __blackjack__
Alternative Möglichkeit die gleiche Idee zu formulieren:
Code: Alles auswählen
length = 23
for i in range(length):
for j in range(length):
print(('-' if i in [j, length - 1 - j] else '+'), end=' ')
print()