Python
Помогите пожалуйста с задачкой на Python
Дана прямоугольная матрица. Найти столбец с наибольшей и наименьшей суммой элементов. Вывести на печать найденные столбцы и суммы их элементов.
Здравствуйте, Сергей.
Вот программа для Вас:
Вот программа для Вас:
# Подключаю модуль для работы со случайными числами
import random
# Создаю матрицу
matrix = list()
# Задаю размерность матрицы
n = 5
# Заполняю матрицу случайными числами
for y in range(n):
# Добавляю в матрицу строку. Пустую
matrix.append([])
# Заполняю новую строку значениями
for x in range(n):
# Генерирую случайное число от 1 до 20
k = random.randint(1, 20)
# Добавляю случайное число в строку матрицы
matrix[y].append( k )
# Создаю список
array_sum = list()
# Заполняю этот список суммами столбцов матрицы
for x in range(n):
# Для начала обнуляю сумму
s = 0
# В цикле вычисляю сумму столбца "x"
for y in range(n):
s = s + matrix[y][x]
# Добавляю сумму в список сумм
array_sum.append(s)
# Вывожу матрицу на экран
print("Матрица:")
for y in range(n):
for x in range(n):
print(matrix[y][x], end = "\t")
print()
print("Суммы столбцов:")
for x in range(n):
print(array_sum[x], end = "\t")
# Вычисляю максимальное значение списка "array_sum"
max_a = max(array_sum)
# Вычисляю минимальное значение списка "array_sum"
min_a = min(array_sum)
# Вычисляю индекс максимального элемента в списке "array_sum"
i_max = array_sum.index(max_a)
# Вычисляю индекс минимального элемента в списке "array_sum"
i_min = array_sum.index(min_a)
# Эти индексы и есть индексы в матрице "matrix"
print()
print("Столбец с наибольшей суммой элементов:")
for y in range(n):
print(matrix[y][i_max], end = "\t")
print()
print("Столбец с наименьшей суммой элементов:")
for y in range(n):
print(matrix[y][i_min], end = "\t")
Владимир Nemo
Большое спасибо Дмитрий
from random import randint
m = [[randint(10,99) for i in range(10)] for k in range(10)]
for i in m: (print(*i))
print('___________________')
col = [[m[k][i] for k in range(len(m))] for i in range(len(m[0]))]
n = list(map(sum,col))
print(*col[n.index(max(n))])
print(*col[n.index(min(n))])
Похожие вопросы
- Помогите пожалуйста с задачей по python!
- Помогите пожалуйста с задачей на Python.
- Помогите пожалуйста с задачей на Python.
- Помогите пожалуйста с задачей на Python
- Помогите пожалуйста с задачей по python!
- Помогите пожалуйста с задачей на python!
- Помогите пожалуйста с заданием на python
- Помогите пожалуйста с задачей по python!
- Помогите пожалуйста с программированием на Python
- Помогите пожалуйста решить задачу на python