fork download
  1. # Реализуйте класс Matrix. Он должен содержать:
  2.  
  3. # Конструктор от списка списков. Гарантируется, что списки состоят из чисел, не пусты и все имеют одинаковый #размер. Конструктор должен копировать содержимое списка списков, т.е. при изменении списков, от которых была #сконструирована матрица, содержимое матрицы изменяться не должно.
  4.  
  5.  
  6. # Метод __str__ переводящий матрицу в строку. При этом элементы внутри одной строки должны быть разделены знаками # табуляции, а строки — переносами строк. При этом после каждой строки не должно быть символа табуляции и в конце # не должно быть переноса строки.
  7. # Метод size без аргументов, возвращающий кортеж вида (число строк, число столбцов)
  8.  
  9.  
  10. # Примеры:
  11. # Тест 1
  12. # Входные данные:
  13. # Task 1 check 1
  14. # m = Matrix([[1, 0], [0, 1]])
  15. # print(m)
  16. # m = Matrix([[2, 0, 0], [0, 1, 10000]])
  17. # print(m)
  18. # m = Matrix([[-10, 20, 50, 2443], [-5235, 12, 4324, 4234]])
  19. # print(m)
  20.  
  21.  
  22. # Вывод программы:
  23. #1 0
  24. #0 1
  25. #2 0 0
  26. #0 1 10000
  27. #-10 20 50 2443
  28. #-5235 12 4324 4234
  29.  
  30. # Нагуглил такой код но он проходит 40/100
  31. from sys import stdin
  32.  
  33.  
  34. class Matrix(object):
  35. def __init__(self, matrix):
  36. self.matrix = matrix
  37.  
  38. def __str__(self):
  39. return '\n'.join([''.join(['%d\t' % i for i in row])
  40. for row in self.matrix])
  41.  
  42. @property
  43. def size(self):
  44. rows = len(self.matrix)
  45. cols = 0
  46. for row in self.matrix:
  47. if len(row) > cols:
  48. cols = len(row)
  49.  
  50. return (rows, cols)
  51.  
  52.  
  53. exec(stdin.read())
Success #stdin #stdout 0.01s 27712KB
stdin
Standard input is empty
stdout
Standard output is empty