Задача. Максимальна сума в рядку, максимальна в стовпчику

# Строка и столбец матрицы с максимальными суммами элементов
# Дано матрицю. Знайти в ній рядок з максимальною сумою
# елементів, а також стовпець.

# функція random генерує випадкові числа
# від 0 до 1
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)

# змінна збереження максимальної суми рядка
maxRow = 0
# змінна для збереження індексу рядка з максимальною сумою
idRow = 0
# поточний індекс
i = 0
# для кожного рядка в матриці ...
for row in matrix:
    # (Функція sum() повертає суму елементів переданого їй списку.)
    # Якщо сума елементів рядка більша значення maxRow,
    if sum(row) > maxRow:
        # то присвоїти змінній maxRow цю суму,
        maxRow = sum(row)
        # а в idRow зберегти індекс цього рядка.
        idRow = i
    # збільшити індекс на 1
    i += 1

# виведення індексу рядка матриці з максимальною сумою і суми
print(idRow, '-', maxRow)

# змінна для збереження максимальної суми стовпчика
maxCol = 0
# змінна для збереження індекса стовпчика с максимальною сумою
idCol = 0
# перебір індексів стовпчиків
for i in range(5):
    # сума поточного стовпчика
    colSum = 0
    # перебір індексів рядків
    for j in range(5):
        # викликається черговий елемент стовпчика, і додається до colSum,
        # при цьому змінюється індекс рядка (j), індекс стовпчика незмінний (i)
        colSum += matrix[j][i]
   # Якщо сума елементів поточного стовпчика більша значення maxCol,
    if colSum > maxCol:
        # то записати значення першої змінної у другу,
        maxCol = colSum
        # а індекс стовчика зберегти в idCol
        idCol = i

# виведення індекса стовпчика і його суми
print(idCol, '-', maxCol)

Комментариев нет:

Отправить комментарий