Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Для замены элементов, сумма индексов которых является чётной, на нули, можно использовать следующий код:
- #arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
- #for i in range(len(arr)):
- # for j in range(len(arr[i])):
- # if (i + j) % 2 == 0:
- # arr[i][j] = 0
- #print(arr)
- #Чтобы реализовать программу посредством объектно-ориентированного подхода, можно создать класс Table с методами gen(), rows(), cols(), elems(), show(), stat(), а также вспомогательными методами, необходимыми для функционирования класса и специальной функции, определённой вариантом.
- #Для сортировки двумерного массива внутри класса можно использовать метод sort() с параметром key, как описано выше. Для замены элементов, сумма индексов которых является чётной, на нули, можно использовать метод replace_even():
- class Table:
- def __init__(self, rows, cols):
- self.rows = rows
- self.cols = cols
- self.data = [[random.randint(0, 9) for j in range(cols)] for i in range(rows)]
- def gen(self):
- self.data = [[random.randint(0, 9) for j in range(self.cols)] for i in range(self.rows)]
- def rows(self):
- return self.rows
- def cols(self):
- return self.cols
- def elems(self):
- return self.rows * self.cols
- def show(self):
- for row in self.data:
- print(row)
- def stat(self):
- stats = {}
- for i in range(10):
- stats[str(i)] = 0
- for row in self.data:
- for elem in row:
- stats[str(elem)] += 1
- return stats
- def replace_even(self):
- for i in range(self.rows):
- for j in range(self.cols):
- if (i + j) % 2 == 0:
- self.data[i][j] = 0
- table = Table(3, 4)
- table.show()
- table.replace_even()
- table.show()
- print(table.stat())
- #Обратити внимание, что в методе stat() возвращается словарь, содержащий количество каждого элемента в массиве.
Advertisement
Comments
-
- Результат:
- [7, 5, 0, 9]
- [7, 8, 5, 3]
- [7, 6, 6, 7]
- [0, 5, 0, 9]
- [7, 0, 5, 0]
- [7, 6, 6, 7]
- {'0': 5, '1': 0, '2': 0, '3': 2, '4': 0, '5': 4, '6': 4, '7': 6, '8': 1, '9': 4}
Add Comment
Please, Sign In to add comment
Advertisement