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

3 Lösungen Lösungen öffentlich
#344

Prüfen auf Toeplitz-Matrix

Fortgeschrittener - Python von JKooP - 16.04.2021 um 17:07 Uhr
Von einer Toeplitz-Matrix spricht man, wenn alle Diagonalen von links oben nach rechts unten die gleichen Zahlen enthalten.

Beispiel 1:
matrix = { {4, 5, 6, 7, 8}, {3, 4, 5, 6, 7 }, {2, 3, 4, 5, 6}, {1, 2, 3, 4, 5} }
Lösung: wahr, denn alle Diagonalen enthalten die gleichen Zahlen =>
{1}, {2, 2}, {3, 3, 3}, {4, 4, 4, 4}, {5, 5, 5, 5}, {6, 6, 6}, {7, 7}, {8}

Beispiel 2:
matrix = { {1, 2}, {2, 2} }
Lösung: falsch, denn die zweite Diagonale enthält unterschiedliche Zahlen =>
{1}, {1, 2}, {2}

Erstelle eine Methode/Funktion, die jede Matrix größer 2x2 dahingehend prüft, ob es sich um eine Toeplitz-Matrix handelt.

Viel Spaß
#2
vote_ok
von eisheiliger (3750 Punkte) - 17.04.2021 um 16:53 Uhr
Quellcode ausblenden Python-Code

"""
#344: Prüfen auf Toeplitz-Matrix
Erstelle eine Methode/Funktion, die jede Matrix größer 2x2 dahingehend prüft, ob es sich um eine Toeplitz-Matrix handelt.
"""


def prf_toepl(matrix):
    zei = len(matrix)
    spa = len(matrix[0])
    erg = 0

    for i in range(0, zei - 1):
        if matrix[i][0:spa - 1] == matrix[i + 1][1:spa]:
            erg = 0
        else:
            erg = 1

    if erg == 0:
        print("Toeplitz Matrix = TRUE")
    else:
        print("Toeplitz Matrix = FALSE")


def main():
    matrix1 = [[1, 2],
               [2, 2]]

    matrix2 = [[4, 5, 6, 7, 8],
               [3, 4, 5, 6, 7],
               [2, 3, 4, 5, 6],
               [1, 2, 3, 4, 5]]

    matrix3 = [["a", "b", "c", "d", "e"],
               ["f", "a", "b", "c", "d"],
               ["g", "f", "a", "b", "c"],
               ["h", "g", "f", "a", "b"],
               ["i", "h", "g", "f", "a"]]

    prf_toepl(matrix1)
    prf_toepl(matrix2)
    prf_toepl(matrix3)


if __name__ == '__main__':
    main()


Kommentare:

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

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

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.