АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

2192. Матрица

Ограничение времени: 1 сек.
Ограничение памяти:262144 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

Реализуйте класс Matrix на языке Python. Он должен содержать:

  • Конструктор от списка списков. Гарантируется, что списки состоят из чисел, не пусты и все имеют одинаковый размер. Конструктор должен копировать содержимое списка списков, т. е. при изменении списков, от которых была сконструирована матрица, содержимое матрицы изменяться не должно.
  • Метод __str__, переводящий матрицу в строку. При этом элементы внутри одной строки должны быть разделены знаками табуляции, а строки — переносами строк. После каждой строки не должно быть символа табуляции и в конце не должно быть переноса строки.
  • Метод size без аргументов, возвращающий кортеж вида (число строк, число столбцов).

Примеры

Входные данные
# Task 1 check 1
m = Matrix([[1, 0], [0, 1]])
print(m)
m = Matrix([[2, 0, 0], [0, 1, 10000]])
print(m)
m = Matrix([[-10, 20, 50, 2443], [-5235, 12, 4324, 4234]])
print(m)
Выходные данные
1  0
0  1
2  0  0
0  1  10000
-10  20  50  2443
-5235  12  4324  4234
Входные данные
m1 = Matrix([[1, 0, 0], [1, 1, 1], [0, 0, 0]])
m2 = Matrix([[1, 0, 0], [1, 1, 1], [0, 0, 0]])
print(str(m1) == str(m2))
Выходные данные
True
Входные данные
# Task 1 check 3
m = Matrix([[1, 1, 1], [0, 100, 10]])
print(str(m) == '1\t1\t1\n0\t100\t10')
Выходные данные
True

Примечание

На проверку вы должны сдать только файл, содержащий описание класса и одну строку вне класса (в качестве основной программы):

exec(stdin.read())

И еще одну строку в начале файла:

from sys import stdin

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


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи по темам / Python / ООП в Python /
2192. 2193. B - Добавить и умножить 2194. C - Ошибки и транспонирование 2195. D - Умножение
 
время генерации 0.094 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.