Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sys import stdin
- class MatrixError(Exception):
- def __init__(self, Matrix1, Matrix2):
- self.matrix1 = Matrix1
- self.matrix2 = Matrix2
- class Matrix:
- def __init__(self, massiv=[]):
- mas1 = []
- for i in range(0, len(massiv)):
- mas1.append([])
- for j in range(0, len(massiv[i])):
- mas1[i].append(massiv[i][j])
- self.massiv = mas1
- def __str__(self):
- s = ''
- for i in range(0, len(self.massiv)):
- for j in range(0, len(self.massiv[i])):
- s += str(self.massiv[i][j]) + '\t'
- s = s[:len(s) - 1] + '\n'
- s = s[:len(s) - 1]
- return s
- def size(self):
- return (len(self.massiv), len(self.massiv[0]))
- def __add__(self, new):
- mas1 = []
- if self.size() != new.size():
- raise MatrixError(self, new)
- else:
- for i in range(0, len(self.massiv)):
- mas1.append([])
- for j in range(0, len(self.massiv[i])):
- mas1[i].append(self.massiv[i][j] + new.massiv[i][j])
- return Matrix(mas1)
- def __mul__(self, d):
- mas1 = []
- for i in range(0, len(self.massiv)):
- mas1.append([])
- for j in range(0, len(self.massiv[i])):
- mas1[i].append(d * self.massiv[i][j])
- return Matrix(mas1)
- def __rmul__(self, d):
- return self * d
- def transpose(self):
- mas1 = []
- for i in range(0, len(self.massiv[0])):
- mas1.append([])
- for j in range(len(self.massiv)):
- mas1[i].append(self.massiv[j][i])
- self.massiv = mas1
- return Matrix(mas1)
- @staticmethod
- def transpose(self):
- mas1 = []
- for i in range(0, len(self.massiv[0])):
- mas1.append([])
- for j in range(len(self.massiv)):
- mas1[i].append(self.massiv[j][i])
- self.massiv = mas1
- return Matrix(mas1)
- exec(stdin.read())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement