From c8032e099d744449db90eeadd1455741609af8e1 Mon Sep 17 00:00:00 2001 From: lb1programmer Date: Fri, 15 Oct 2021 23:00:10 -0700 Subject: [PATCH 1/2] Fix runnable example and add tests. --- matrix/inverse_of_matrix.py | 5 +++++ matrix/rotate_matrix.py | 14 ++++++++++++++ matrix/spiral_print.py | 15 +++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/matrix/inverse_of_matrix.py b/matrix/inverse_of_matrix.py index 9deca6c3c08e..d487bf3a2a55 100644 --- a/matrix/inverse_of_matrix.py +++ b/matrix/inverse_of_matrix.py @@ -38,3 +38,8 @@ def inverse_of_matrix(matrix: list[list[float]]) -> list[list[float]]: swapped_matrix[1][0], swapped_matrix[0][1] = -matrix[1][0], -matrix[0][1] # Calculate the inverse of the matrix return [[float(D(n) / determinant) or 0.0 for n in row] for row in swapped_matrix] + +if __name__ == '__main__': + print('Inverse of matrix example: [[2, 5], [2, 0]]^-1:') + print(inverse_of_matrix([[2, 5], [2, 0]])) + diff --git a/matrix/rotate_matrix.py b/matrix/rotate_matrix.py index f638597ae35d..cae838ad928a 100644 --- a/matrix/rotate_matrix.py +++ b/matrix/rotate_matrix.py @@ -67,11 +67,25 @@ def transpose(matrix: list[list]) -> list[list]: def reverse_row(matrix: list[list]) -> list[list]: + """ + Reverses rows + + >>> reverse_row([[1,3,5],[7,8,9],[1,0,1]]) + [[1, 0, 1], [7, 8, 9], [1, 3, 5]] + + """ matrix[:] = matrix[::-1] return matrix def reverse_column(matrix: list[list]) -> list[list]: + """ + Reverses columns + + >>> reverse_column([[1,3,5],[7,8,9],[1,0,1]]) + [[5, 3, 1], [9, 8, 7], [1, 0, 1]] + + """ matrix[:] = [x[::-1] for x in matrix] return matrix diff --git a/matrix/spiral_print.py b/matrix/spiral_print.py index 6f699c1ab662..75062af07c8f 100644 --- a/matrix/spiral_print.py +++ b/matrix/spiral_print.py @@ -30,6 +30,21 @@ def check_matrix(matrix): def spiralPrint(a): + """ + Prints matrix from outside in. + + >>> spiralPrint([[1, 2, 3],[8,9,4],[7,6,5]]) + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + + """ if check_matrix(a) and len(a) > 0: matRow = len(a) if isinstance(a[0], Iterable): From cf2e9b444a3cbbf82e69a35d13189c238b4e16e6 Mon Sep 17 00:00:00 2001 From: programmin1 Date: Sat, 16 Oct 2021 08:01:59 -0700 Subject: [PATCH 2/2] Update matrix/rotate_matrix.py Co-authored-by: Christian Clauss --- matrix/rotate_matrix.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matrix/rotate_matrix.py b/matrix/rotate_matrix.py index cae838ad928a..a65ca3a233e4 100644 --- a/matrix/rotate_matrix.py +++ b/matrix/rotate_matrix.py @@ -70,7 +70,7 @@ def reverse_row(matrix: list[list]) -> list[list]: """ Reverses rows - >>> reverse_row([[1,3,5],[7,8,9],[1,0,1]]) + >>> reverse_row([[1, 3, 5], [7, 8, 9], [1, 0, 1]]) [[1, 0, 1], [7, 8, 9], [1, 3, 5]] """