Сумма чисел матрицы питон

Сумма элементов матрицы

Задача.
Напишите программу, которая вычисляет сумму элементов матрицы.

Входные данные
В первой строке записаны через пробел размеры матрицы:
количество строк N и количество столбцов M (1 В следующих N строках записаны строки матрицы,
в каждой – по M натуральных чисел, разделённых пробелами.

Выходные данные
Программа должна вывести одно число – сумму элементов матрицы.

Примеры
входные данные
4 5
1 2 3 4 5
6 12 8 9 10
11 12 12 14 15
16 17 18 12 20

Вот код решения этой задачи:

N, M = map (int, input ().split ()) S = 0 # S - сумма элементов матрицы # i - номер строки for i in range (N) : T = input ().split () for t in T : S += int (t) print (S)

Тестирующая система с автоматической проверкой принимает этот код, считает его безошибочным.

Но у меня возник вопрос.
Переменная M в первой строчке кода вводится, но ниже в программу нигде не применяется.
Код работает не только для прямоугольных (квадратных) матриц, а и для любых типа
0 0 0 0
1
2 3
9 9 9 9 9 9
с переменным числом элементов в строке матрицы.

Не могу понять вот что:
как вводить в одну строку ровно M значений?

Источник

Как посчитать сумму чисел в матрице?

5ccab2f66d9e1728616945.png

но это если матрица как двумерный массив (даже если пустой), если матрица будет просто списком, будет ошибка. Как сделать более грамотно, может сейчас опытные питонисты подскажут.

longclaps

longclaps,
как убрать лишние скобки в выводе?
как перенести каждую строку матрицы с новой строки в выводе?

5ccac5c636ca7707649279.png

у меня немного не красиво:

with open('in.txt') as f: matrix = [list(map(int, row.split())) for row in f.readlines()] print(matrix) print(sum(map(sum, matrix)))

longclaps

from pprint import pprint pprint([[1, 0, 0], [0, 1, 0], [0, 0, 1]], width=20)

вот такой цикл удовлетворяет моему запросу красоты:

#print(*matrix) это лишнее, гораздо красивее отображение, см цикл ниже for i in matrix: for j in i: print(j,end=' ') print()

при этом матрица отобразится, точно как в файле

with open(‘in.txt’) as f:
matrix = [list(map(int, row.split())) for row in f.readlines()]

print(matrix)
for m in matrix:
s = sum(m)
print(s)

s = 0 for m in matrix: s += sum(m)

Denis_Yav ваше суммирование дает результат 4,
не плюсуется последняя третья строка матрицы
kova1ev ваше суммирование дает результат 8 — это верно!

вывод марицы на экран
print(matrix)
дает такой результат:
5ccac1db8be78389093377.pngкак сделать, чтоб матица была записана не в одну строку, а чтоб переносилась после каждых нескольких элементов на новую строку, как это записано в файле?
5ccac287d5ce2071518131.pngи как сделать. чтоб не высвечивались скобки у выведенной матрицы?

with open('in.txt') as f: matrix = [list(map(int, row.split())) for row in f.readlines()] s = 0 for m in matrix: s += sum(m) print(s) print(matrix)

Источник

Сумма элементов матрицы

Напишите программу, которая вычисляет сумму элементов матрицы.

В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 ≤ N , M ≤ 100 ). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами.

Программа должна вывести одно число – сумму элементов матрицы.

4 5
1 2 3 4 5
6 12 8 9 10
11 12 12 14 15
16 17 18 12 20

Сумма элементов матрицы
Задача. Напишите программу, которая вычисляет сумму элементов матрицы. Входные данные В.

Сумма элементов матрицы в блоках
Прочитать действительную А матрицу размером n x n. Для заданного m, такого, что n%m = 0, найти.

Сумма и количество положительных элементов матрицы
Неправильно считает сумму и количество положительных элементов матрицы( import numpy as np .

n = int(input()) m = int(input()) s = 0 for i in range(n * m): m = int(input()) s = s + m print(s)

ЦитатаСообщение от Xiliatey Посмотреть сообщение

Traceback (most recent call last):
File «C:\Users\дом\Desktop\python\test.py», line 1, in
n = int(input())
ValueError: invalid literal for int() with base 10: ‘4 5’
>>>
ошибку переведете?

а затем что так условием задано. а если матрица будет 10000 Х 10000 вы так и будете 10000 цифр вводить ручками?

Добавлено через 10 минут

n,m = [int(i) for i in input().split()] sum_ = 0 for _ in range(n): line = input().split() for i in range(m): sum_ += int(line[i]) print(sum_)
n,m = map(int,input().split()) print(sum(sum(map(int,input().split())) for _ in range(n)))
n,m = [int(i) for i in input().split()] sum_ = 0 for _ in range(n): line = input().split() for i in range(m): sum_ += int(line[i]) print(sum_)

пользователь при вводе строки матрицы может ввести меньше, чем m чисел

n,m = map(int,input().split()) print(sum(sum(map(int,input().split())) for _ in range(n)))

переменная m после её ввода нигде не применяется.
Получается, что можно вводить матрицы с разными длинами строк.

Я не понимаю, как можно вводить именно m значений в строку матрицы, типа

list> = map (int, input (). split ())

Эксперт PythonЭксперт Java

ЦитатаСообщение от Michael Myers66 Посмотреть сообщение

В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами.

N, M = map (int, input ().split ()) S = 0 for i in range (N) : T = input ().split () for t in T : S += int (t) print (S)

Эксперт PythonЭксперт Java

ЦитатаСообщение от MSP_cyber Посмотреть сообщение

Вот именно! В питоне, как и в ряде других языков, это бессмысленно.
Просто такие задачи даются не под конкретный язык.
Например, в СИ это нужно. А тут нет. Вот и все! Поэтому m считывается «лишь бы куда-нибудь», ведь она дается во входящих данных.

ВОТ РЕШЕНИЕ КОМУ НУЖНО

n, m = list(map(int, input().split())) s = 0 for i in range(n): a = list(map(int,input().split())) s += sum(a) print(s)

если накосячил, пишите

Добавлено через 1 минуту
я решил, попробуй сдать)

iSmokeJC,
Спасибо огромное, замечательно точно сказано!

Добавлено через 37 минут
z0nGG,
очень красивое решение,
но опять же, хочу подчеркнуть, а при чем здесь m?
зачем мы его вводили?

Эксперт Python

ЦитатаСообщение от MSP_cyber Посмотреть сообщение

Специально для вас, раз вам так сильно хочется её использовать. Будем считать, что тестирующая система коварна и может подать больше чем m чисел и сделаем так:

n, m = list(map(int, input().split())) s = 0 for i in range(n): a = list(map(int, input().split()))[:m] s += sum(a) print(s)

Эти контесты не сделаны онли для питона, т.к тогда она была бы разной для питона и для СИ.
Поэтому составители этой задачи не стали заморачиваться и просто добавили m.

ЦитатаСообщение от MSP_cyber Посмотреть сообщение

ЦитатаСообщение от MSP_cyber Посмотреть сообщение

ЦитатаСообщение от iSmokeJC Посмотреть сообщение

ЦитатаСообщение от MSP_cyber Посмотреть сообщение

а может и больше но тогда это будет совсем другая матрица и сумма чисел будет совсем другой то есть не досчитаем потому что чисел в строке будет больше чем m но код ошибок при этом не выдаст. есть конкретные входные данные под которые и требуется написать решение.

Сумма элементов матрицы, расположенных в области, определяемой индексами
Дана действительная матрица i, i = 1, . n. Получить действительную матрицу i, i = 1, . n.

Сумма и число положительных элементов матрицы над диагональю
Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю.

Сумма четных элементов на главной диагонали квадратной матрицы
Задание: Напишите функцию, которая находит сумму четных элементов на главной диагонали квадратной.

Вывод на экран строки матрицы, сумма элементов которой наибольшая
Напишите программу, которая заполняет квадратную матрицу 5 на 5 элементов случайными целыми числами.

Выяснить является ли сумма элементов матрицы, расположенных над нулями, четным числом.
Помогите с решением. Дана матрица. Выяснить является ли сумма элементов, расположенных над нулями.

Источник

Python Урок 8. Матрицы (двумерный массив)

егэ разбор егэ разбор pascal уроки c уроки python уроки c++ уроки vb уроки lazarus уроки php уроки html уроки css уроки javascript уроки jquery и ajax уроки prolog уроки flash уроки

Для работы с матрицами в Python также используются списки. Каждый элемент списка-матрицы содержит вложенный список.

Рассмотрим пример матрицы размера 4 х 3:

matrix = [[-1, 0, 1], [-1, 0, 1], [0, 1, -1], [1, 1, -1]]

matrix = [[-1, 0, 1], [-1, 0, 1], [0, 1, -1], [1, 1, -1]]

Данный оператор можно записать в одну строку:

matrix = [[-1, 0, 1], [-1, 0, 1], [0, 1, -1], [1, 1, -1]]

matrix = [[-1, 0, 1], [-1, 0, 1], [0, 1, -1], [1, 1, -1]]

вывод матрицы

def printMatrix ( matrix ): for i in range ( len(matrix) ): for j in range ( len(matrix[i]) ): print ( "".format(matrix[i][j]), end = "" ) print ()

def printMatrix ( matrix ): for i in range ( len(matrix) ): for j in range ( len(matrix[i]) ): print ( «».format(matrix[i][j]), end = «» ) print ()

В примере i – это номер строки, а j – номер столбца;
len(matrix) – число строк в матрице.

def printMatrix ( matrix ): for row in matrix: for x in row: print ( "".format(x), end = "" ) print ()

def printMatrix ( matrix ): for row in matrix: for x in row: print ( «».format(x), end = «» ) print ()

from random import randint n, m = 3, 3 a = [[randint(1, 10) for j in range(m)] for i in range(n)] print(a)

from random import randint n, m = 3, 3 a = [[randint(1, 10) for j in range(m)] for i in range(n)] print(a)

Обработка элементов двумерного массива

Нумерация элементов двумерного массива, как и элементов одномерного массива, начинается с нуля.
Т.е. matrix[2][3] — это элемент третьей строки четвертого столбца.

p = 1 for i in range(N): for j in range(M): p *= matrix[i][j] print (p)

p = 1 for i in range(N): for j in range(M): p *= matrix[i][j] print (p)

s = 0 for row in matrix: s += sum(row) print (s)

s = 0 for row in matrix: s += sum(row) print (s)

Для поиска суммы существует стандартная функция sum.

Задание Python 8_0:
Получены значения температуры воздуха за 4 дня с трех метеостанций, расположенных в разных регионах страны:

Номер станции 1-й день 2-й день 3-й день 4-й день
1 -8 -14 -19 -18
2 25 28 26 20
3 11 18 20 25

Т.е. запись показаний в двумерном массиве выглядела бы так:

  1. Распечатать температуру на 2-й метеостанции за 4-й день и на 3-й метеостанции за 1-й день.
  2. Распечатать показания термометров всех метеостанций за 2-й день.
  3. Определить среднюю температуру на 3-й метеостанции.
  4. Распечатать, в какие дни и на каких метеостанциях температура была в диапазоне 24-26 градусов тепла.

Задание Python 8_1:
Написать программу поиска минимального и максимального элементов матрицы и их индексов.

Задание Python 8_2:
Написать программу, выводящую на экран строку матрицы, сумма элементов которой максимальна.

for i in range(N): # работаем с matrix[i][i]

for i in range(N): # работаем с matrix[i][i]

for i in range(N): # работаем с matrix[i][N-1-i]

for i in range(N): # работаем с matrix[i][N-1-i]

for i in range(N): c = A[i][2] A[i][2] = A[i][4] A[i][4] = c

for i in range(N): c = A[i][2] A[i][2] = A[i][4] A[i][4] = c

for i in range(N): A[i][2], A[i][4] = A[i][4], A[i][2]

for i in range(N): A[i][2], A[i][4] = A[i][4], A[i][2]

Задание Python 8_3:
Составить программу, позволяющую с помощью датчика случайных чисел сформировать матрицу размерностью N. Определить:

Источник

Читайте также:  Python pip install path windows
Оцените статью