Wie wird 2-dimensionale Matrix gedruckt?

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
spittlebug
User
Beiträge: 7
Registriert: Samstag 13. Dezember 2003, 10:37

Montag 26. Januar 2004, 21:09

Könnte mir bitte jemand einen Tipp geben wie man eine zweidimensionale Matrix vernünftig Zeile für Zeile printed. Dabei wird die Matrix als Dictionary erstellt. Siehe Bsp.

Code: Alles auswählen

for i in range(1,n+1):
        for j in range(1,m+1):
            x = c[i-1,j]+2
            y = c[i,j-1]+2
            if a[i-1] == b[j-1]:
                z = c[i-1,j-1]+1
            else:
                z = c[i-1,j-1]+1
        c[i,j] = min(x,y,z)
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Montag 26. Januar 2004, 22:47

Hallo!
Dein Code wirkt etwas aus dem Zusammenhang gerissen. Meinst Du einfach sowas?

Code: Alles auswählen

for i in range(1,n+1):
    for j in range(1,m+1):
        print "%5d" % c[i,j],
    print ""
Die 5 natürlich nur eine Annahme, da nicht erkennbar ist, was für Werte die Dict-Einträge annehmen können.
BTW: Zeile 6 und 8 sind identisch ;-)
Jan
spittlebug
User
Beiträge: 7
Registriert: Samstag 13. Dezember 2003, 10:37

Montag 26. Januar 2004, 23:58

Hallo Jan,

danke für die Hilfe. Es hat einwandfrei funktioniert. Es ergeben sich nur Integer in der Matrix. Sieht gar nicht so schwer aus. Da muß ich wohl noch etwas Erfahrung sammeln mit Python :? .
Der Code entstammt einem Sequenzvergleich. Mit der 6. und 8. Zeile hast Du natürlich recht. In der 6 kommt "+1" weg, da die Elemente übereinstimmen.
Nochmals Danke.

Thomas
Gast

Montag 2. Februar 2004, 23:36

Ich hätte da noch eine Frage, falls jemand nochmal in diesen thread schaut. Ich möchte meine Matrix von hinten nach vorn durchlaufen. Gibt es die Möglichkeit Schleifen zu benutzen die "rückwärts" zählen? Also sozusagen von n bis 0 bzw. m bis 0?

Gruß

spittlebug
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Montag 2. Februar 2004, 23:58

Hi spittlebug,

for i in xrange(9, -1, -1): print i


Gruß

Dookie
Antworten