Matrix erstellen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
gromeroe
User
Beiträge: 1
Registriert: Donnerstag 23. Mai 2019, 10:35

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?
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

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()
When we say computer, we mean the electronic computer.
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

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.
When we say computer, we mean the electronic computer.
Benutzeravatar
__blackjack__
User
Beiträge: 13077
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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()
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten