chore: add Matrix class
Some checks failed
Run tests / test (push) Failing after 15s
Code Quality / lint (push) Successful in 17s

This commit is contained in:
2026-01-26 01:22:53 +01:00
parent 517d81bd15
commit d58ea9ddaa
2 changed files with 25 additions and 1 deletions

View File

@@ -3,6 +3,7 @@
from strings import * from strings import *
from tree import * from tree import *
from counter import * from counter import *
from matrix import *
def trees(): def trees():
t = build_tree((1, t = build_tree((1,
@@ -95,9 +96,13 @@ def counter():
c.incr() c.incr()
assert c.val == 1 assert c.val == 1
def matrix():
m = Matrix([0, 1, 2, 3], [0, 4, 5, 6], [0, 7, 8, 9])
print(m)
print(transpose(m))
def main(): def main():
counter() matrix()
pass pass
if __name__ == "__main__": if __name__ == "__main__":

19
src/matrix.py Normal file
View File

@@ -0,0 +1,19 @@
class Matrix:
def __init__(self, *rows):
self.rows = rows
self.number_of_columns = len(rows[0])
self.number_of_rows = len(rows)
pass
def __repr__(self):
return f"Matrix[{self.number_of_columns}x{self.number_of_rows}]{self.rows}"
def transpose(m):
range_for_rows = range(m.number_of_rows)
range_for_columns = range(m.number_of_columns)
new_rows = [[None for x in range_for_rows] for x in range_for_columns]
for i in range_for_columns:
for j in range_for_rows:
new_rows[i][j] = m.rows[j][i]
return Matrix(*new_rows)