Дана квадратная матрица. Необходимо из всех строк матрицы, кроме последней,
вычесть последнюю строку. Следует написать программу с использованием функций.
В Python нельзя обратиться по индексу к элементу списка, которого еще не
существует. Поэтому при заполнении матрицы можно сначала создавать одномерный
список-массив (очередную строку матрицы), а затем добавить его в основной
список-матрицу. Таким образом, при заполнении двумерного списка также
используется метод append(), как и при заполнении одномерного.
В Python в функции передаются "указатели" на списки, а не сами списки. Поэтому
в функциях отсутствует оператор return.
import random
def make_matrix(m,n):
for i in range(0,n):
a = []
for j in range(0,n):
a.append(int(random.random() * 100))
m.append(a)
def minus_last(m):
l = len(m)
for i in range(0,l-1):
for j in range(0,l):
m[i][j] = m[i][j] - m[l-1][j]
def print_matrix(m):
for i in m:
print(i)
print()
arr = []
make_matrix(arr,4)
print_matrix(arr)
minus_last(arr)
print_matrix(arr)
[62, 54, 47, 44]
[84, 84, 64, 83]
[87, 96, 32, 30]
[3, 74, 42, 21]
[59, -20, 5, 23]
[81, 10, 22, 62]
[84, 22, -10, 9]
[3, 74, 42, 21]