Найти - Пользователи
Полная версия: Матрицы
Начало » Центр помощи » Матрицы
1
Kate45678
Привет!
Помогите, пожалуйста, решить задание.
1. Реализуйте класс Matrix. Он должен содержать:
Конструктор от списка списков. Гарантируется, что списки состоят из чисел, не пусты и все имеют одинаковый размер. Конструктор должен копировать содержимое списка списков, т.е. при изменении списков, от которых была сконструирована матрица, содержимое матрицы изменяться не должно.
Метод __str__ переводящий матрицу в строку. При этом элементы внутри одной строки должны быть разделены знаками табуляции, а строки — переносами строк. При этом после каждой строки не должно быть символа табуляции и в конце не должно быть переноса строки.
Метод size без аргументов, возвращающий кортеж вида (число строк, число столбцов)
На проверку вы должны сдать только файл, содержащий описание класса и одну строку вне класса (в качестве основной программы):

exec(stdin.read())

И в начале файла:

from sys import stdin

Для тестирования класса вы можете вместо строки exec(stdin.read()) вставлять код из примеров или писать свой код.

Формат ввода

Вводится исходный код тестирующей программы на языке Python.

Формат вывода

Выведите результат её работы в текущем окружении при помощи exec как это указано в условии.


2. Добавьте в предыдущий класс следующие методы:
__add__ принимающий вторую матрицу того же размера и возвращающий сумму матриц
__mul__ принимающий число типа int или float и возвращающий матрицу, умноженную на скаляр
__rmul__ делающий то же самое, что и __mul__. Этот метод будет вызван в том случае, аргумент находится справа. Можно написать __rmul__ = __mul__

Данные для проверки:
m1 = Matrix([, , ])
m2 = Matrix([, , ])
print(m1 + m2)

Вывод программы:
1 1 0
20 1 -1
-1 -2 1

Но нужно сделать код максимально быстрым, так как появляется ошибка Runtime error
Помогите, пожалуйста
PEHDOM
Kate45678
Но нужно сделать код максимально быстрым, так как появляется ошибка Runtime error
я так понимаю какойто код у вас уже есть, так что мешает вам его показать?
Openair
пишите, думаю смогу вам помочь
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB