Напишите функцию 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