Advertisement
Guest User

Untitled

a guest
Oct 21st, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. from sys import stdin
  2.  
  3. class MatrixError(Exception):
  4. def __init__(self, Matrix1, Matrix2):
  5. self.matrix1 = Matrix1
  6. self.matrix2 = Matrix2
  7.  
  8.  
  9. class Matrix:
  10. def __init__(self, massiv=[]):
  11. mas1 = []
  12. for i in range(0, len(massiv)):
  13. mas1.append([])
  14. for j in range(0, len(massiv[i])):
  15. mas1[i].append(massiv[i][j])
  16. self.massiv = mas1
  17.  
  18. def __str__(self):
  19. s = ''
  20. for i in range(0, len(self.massiv)):
  21. for j in range(0, len(self.massiv[i])):
  22. s += str(self.massiv[i][j]) + '\t'
  23. s = s[:len(s) - 1] + '\n'
  24. s = s[:len(s) - 1]
  25. return s
  26.  
  27. def size(self):
  28. return (len(self.massiv), len(self.massiv[0]))
  29.  
  30. def __add__(self, new):
  31. mas1 = []
  32. if self.size() != new.size():
  33. raise MatrixError(self, new)
  34. else:
  35. for i in range(0, len(self.massiv)):
  36. mas1.append([])
  37. for j in range(0, len(self.massiv[i])):
  38. mas1[i].append(self.massiv[i][j] + new.massiv[i][j])
  39. return Matrix(mas1)
  40.  
  41. def __mul__(self, d):
  42. mas1 = []
  43. for i in range(0, len(self.massiv)):
  44. mas1.append([])
  45. for j in range(0, len(self.massiv[i])):
  46. mas1[i].append(d * self.massiv[i][j])
  47. return Matrix(mas1)
  48.  
  49. def __rmul__(self, d):
  50. return self * d
  51.  
  52. def transpose(self):
  53. mas1 = []
  54. for i in range(0, len(self.massiv[0])):
  55. mas1.append([])
  56. for j in range(len(self.massiv)):
  57. mas1[i].append(self.massiv[j][i])
  58. self.massiv = mas1
  59. return Matrix(mas1)
  60.  
  61.  
  62. @staticmethod
  63. def transposed(self):
  64. mas1 = []
  65. for i in range(0, len(self.massiv[0])):
  66. mas1.append([])
  67. for j in range(len(self.massiv)):
  68. mas1[i].append(self.massiv[j][i])
  69. return Matrix(mas1)
  70.  
  71. exec(stdin.read())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement