Напишите функцию make_matrix
, которая создаёт, заполняет и возвращает матрицу заданного размера.
Параметры функции:
size
— кортеж (ширина, высота) или одно число (для создания квадратной матрицы);value
— значение элементов списка (по-умолчанию0
).
Примечание
Ваше решение должно содержать только функции.
В решении не должно быть вызовов требуемых функций.
Пример
Ввод
result = make_matrix(3)
Вывод
result = [
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]
]
Ввод
result = make_matrix((4, 2), 1)
Вывод
result = [
[1, 1, 1, 1],
[1, 1, 1, 1]
]
Решение
Развитие задач на умение работать с различным и типами входных данных в рамках одного и того же набора переменных – различное поведение программы при разных типах входных значений.
Обычно пишут две ветки в зависимости от того получили на вход одно число или кортеж/список элементов. Но по сути, можно обойтись универсальным алгоритмом, если вспомнить что квадратные матрицы это матрицы где размер по одной оси равен размеру по другой.
Посмотреть код
Решение
Python
# типовое решение
def make_matrix(size, value=0):
if type(size) == int:
return [[value for i in range(size)] for j in range(size)]
else:
return [[value for i in range(size[0])] for j in range(size[1])]
Решение
Python
# решение сведенное к единому алгоритму действий.
def make_matrix(size, value=0):
if isinstance(size, int):
size = [size, size]
result = [[value] * size[0] for _ in range(size[1])]
return result