В матрице найти строку и столбец с максимальными суммами элементов

Заполните матрицу случайными числами. Найдите в ней строку и столбец с максимальными суммами элементов. Выведите на экран индексы строки и столбца, а также суммы.
from random import random

# Матрица - двумерный список,
# т. е. список, содержащий
# вложенные списки одинаковой длины.
matrix = []

# За одну итерацию внешнего цикла
# формируется один вложенный список,
# т. е. одна строка матрицы.
for i in range(5):
    # строка матрицы
    row = []
    # заполнение строки
    for j in range(5):
        # добавляется случайное число
        # от 0 до 9 включительно
        row.append(int(random()*10))
    # строка добавляется в матрицу
    matrix.append(row)

# построчный вывод матрицы
for row in matrix:
    print(row)

# Переменная для хранения
# максимальной суммы строки.
max_row = 0

# Переменная для хранения
# индекса строки с максимальной суммой.
id_row = 0

# индекс текущей строки
i = 0

# для каждой строки в матрице ...
for row in matrix:
    # Функция sum() возвращает
    # сумму элементов переданного ей списка.
    # Если сумма элементов строки
    # больше значения max_row,
    if sum(row) > max_row:
        # то присвоить переменной max_row эту сумму,
        max_row = sum(row)
        # а в id_row сохранить индекс этой строки.
        id_row = i
    # увеличить индекс на 1
    i += 1

# вывод индекса и суммы
print(id_row, '-', max_row)

# Переменная для хранения
# максимальной суммы столбца.
max_col = 0

# Переменная для хранения
# индекса столбца с максимальной суммой.
id_col = 0

# перебор индексов столбцов
for i in range(5):
    # сумма текущего столбца
    col_sum = 0
    # перебор индексов строк
    for j in range(5):
        # Извлекается очередной элемент столбца,
        # и добавляется к col_sum,
        # при этом изменяется индекс строк (j),
        # индекс столбца неизменен (i).
        col_sum += matrix[j][i]
    # Если сумма элементов текущего столбца
    # больше значения max_col,
    if col_sum > max_col:
        # то записать значение
        # первой переменной в вторую,
        max_col = col_sum
        # а индекс столбца сохранить в id_col.
        id_col = i

# вывод индекса столбца и его суммы
print(id_col, '-', max_col)




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: