Python :: Aufgabe #44 :: Lösung #2

3 Lösungen Lösungen öffentlich
#44

Matrizen um 90 Grad drehen

Anfänger - Python von pocki - 11.11.2013 um 16:38 Uhr
Erstelle ein Programm, welches als Eingabe eine Matrix beliebiger Größe entgegennimmt und diese dann um 90 Grad dreht.

Beispiel an einer 4x4 Matrix:
Eingabematrix mit den Elementen:
a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34
a41 a42 a43 a44

sollte diese Ausgabematrix erzeugen:
a41 a31 a21 a11
a42 a32 a22 a12
a43 a33 a23 a13
a44 a34 a24 a14

Das Programm sollte für unterschiedlich großen und auch mit nicht quadratischen Matrizen funktionieren.
#2
vote_ok
von ZRX88 (2770 Punkte) - 30.12.2016 um 14:19 Uhr
Funktioniert nur für quadratische matrizen.

Quellcode ausblenden Python-Code
""" matrix class -> rotate matrix """

class matrix():
    
    dim = 9
    matrix = []
    
    def init(self):
        pass
    
    def initialize_matrix(self):
        for i in range(self.dim):
            row = []
            for j in range(self.dim):
                row.append('a_%d%d'  % (i+1,j+1))
            self.matrix.append(row)

    def pritty_print(self):
        for zeile in range(self.dim):
            print(','.join(self.matrix[zeile]))
            
    def rotate(self):
        new_matrix = []
        for spalte in range(self.dim):
            row = []
            for zeile in range(self.dim -1,-1,-1):
                row.append(self.matrix[zeile][spalte])
            new_matrix.append(row)
        self.matrix = new_matrix

matrix = matrix()
matrix.initialize_matrix()

for iterations in range(9):
    print('matrix after %d iterations:' %iterations)
    matrix.pritty_print()
    matrix.rotate()

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben