class Matrix:
    '''
    Реализовать класс Matrix (матрица). Обеспечить перегрузку конструктора класса (метод __init__()),
    который должен принимать данные (список списков) для формирования матрицы.
    Подсказка: матрица — система некоторых математических величин, расположенных в виде прямоугольной схемы.
    Примеры матриц вы найдете в методичке.

    Следующий шаг — реализовать перегрузку метода __str__() для вывода матрицы в привычном виде.
    Далее реализовать перегрузку метода __add__() для реализации операции сложения двух объектов
    класса Matrix (двух матриц). Результатом сложения должна быть новая матрица.
    Подсказка: сложение элементов матриц выполнять поэлементно — первый элемент первой строки первой матрицы
    складываем с первым элементом первой строки второй матрицы и т.д.
    '''
    def __init__(self, data):
        self.data = data

    def __str__(self):
        return f'Входная матрица {self.data}'

    def __add__(self, other):
        new_data = []
        for x, y in zip(self.data, other.data):
            new_data.append([xx + yy for xx, yy in zip(x, y)])
        return Matrix(new_data)
