Задачи:
№1
Дан двумерный список (матрица) : N*M элементов. Найти в матрице сумму всех элементов в четных столбцах.
№2
Дан двумерный список (матрица) : N*N элементов. Найти в матрице сумму элементов главной и побочной диагонали, а также их абсолютную разность.
№3
Дан двумерный список (матрица) : N*M элементов. Поменять в матрице столбец с самым большим по значению элементом на столбец с самым маленьким элементов. Вывести результат/
PYTHON, пожалуйста, помогите, не понимаю этого
Ответы
# Задача 1
n = int(input())
m = int(input())
arr = [[int(input()) for _ in range(m)] for _ in range(n)]
res = 0
for i in arr:
for j in range(len(i)):
if j % 2 != 0:
res += i[j]
print(res)
# Задача 2
n = int(input())
arr = [[int(input()) for _ in range(n)] for _ in range(n)]
diag_1 = 0
diag_2 = 0
for i in range(n):
diag_1 += arr[i][i]
diag_2 += arr[i][n - i - 1]
print(diag_1 + diag_2)
print(abs(diag_1 - diag_2))
# Задача 3
n = int(input())
m = int(input())
from random import randint
arr = [[int(randint(1, 10)) for _ in range(m)] for _ in range(n)]
for i in arr:
print(i)
print()
results = {}
for i in arr: # Добавление элементов в словарь
for j in range(len(i)):
if j not in results:
results[j] = i[j]
else:
results[j] += i[j]
arr_max = 0, 0
arr_min = 0, 999999
for key, val in results.items(): # Нахождение наибольшего и наименьшего элемента
if val > arr_max[1]:
arr_max = key, val
if val < arr_min[1]:
arr_min = key, val
max_values = [[i[j] for j in range(len(i)) if j == arr_max[0]][0] for i in arr]
min_values = [[i[j] for j in range(len(i)) if j == arr_min[0]][0] for i in arr]
for i in arr:
for j in range(len(i)):
if j == arr_min[0]:
i[j] = max_values[0]
del max_values[0]
elif j == arr_max[0]:
i[j] = min_values[0]
del min_values[0]
for i in arr:
print(i)