Добавьте в программу из предыдущей задачи класс MatrixError, содержащий внутри self поля matrix1 и matrix2 – ссылки на матрицы. В класс Matrix внесите следующие изменения: - Добавьте в метод __add__ проверку на ошибки в размере входных данных, чтобы при попытке сложить матрицы разных размеров было выброшено исключение MatrixError таким образом, чтобы matrix1 поле MatrixError стало первым аргументом __add__ (просто self), а matrix2 — вторым (второй операнд для сложения).
- Реализуйте метод transpose, транспонирующий матрицу и возвращающую результат (данный метод модифицирует экземпляр класса Matrix)
- Реализуйте статический метод transposed, принимающий Matrix и возвращающий транспонированную матрицу.
Пример статического метода: class D(object): @staticmethod def test(x): return x == 0 ... >>> D.test(1) # доступ к статическому методу можно получать и через класс False >>> f = D() >>> f.test(0) # и через экземпляр класса True
Примеры Выходные данные
1 1 0
20 1 -1
-1 -2 1
1 0 0
0 1 0
0 0 1
0 1 0
20 0 -1
Выходные данные
10 10
0 0
1 1
10 0 1
10 0 1
10 0 1
10 0 1
Выходные данные
10 10
0 0
1 1
10 0 1
10 0 1
10 10
0 0
1 1
|