Как найти сумму элементов строки матрицы питон

lista = [[1,2,3],[4,5,6],[7,8,9]]

print(lista)

def filas(lista):

    res=[]
    for elemento in lista:
        x = sum(lista[elemento])
        res.append(x)
    print(res)

I need to sum the numbers of each row, and then print it as a list. It seems the problem I have is that I try to sum the sublists, instead of the numbers of each row.

ShadowRanger's user avatar

ShadowRanger

141k12 gold badges184 silver badges263 bronze badges

asked May 22, 2017 at 1:10

angelustt's user avatar

1

The issue you are having, is that you are already iterating over the elements so it is unnecessary to use it as an index:

    x = sum(elemento)

It is generally considered bad form but to iterate over indexes you would use:

for i in range(len(lista)):
    x = sum(lista[i])

However, without introducing any other modules, you can use map() or a simple list comprehension:

>>> res = list(map(sum, lista))   # You don't need `list()` in Py2
>>> print(res)
[6, 15, 24]

Or

>>> res = [sum(e) for e in lista]
>>> print(res)
[6, 15, 24]

answered May 22, 2017 at 1:14

AChampion's user avatar

AChampionAChampion

29.4k3 gold badges58 silver badges73 bronze badges

5

Do you want like this?

lista = [[1,2,3],[4,5,6],[7,8,9]]

print(lista)

def filas(lista):
    summed_list = [sum(i) for i in lista]
    print(summed_list)
filas(lista)

answered Jun 13, 2018 at 16:11

Taohidul Islam's user avatar

Taohidul IslamTaohidul Islam

5,2083 gold badges26 silver badges38 bronze badges

You can do this easly, with dot product. This is much faster than any loop.

lista = np.float32([[1,2,3],[4,5,6],[7,8,9]])
vet_one = np.ones(len(lista))
vet_sum = lista.dot(vet_one)

answered Jul 18, 2020 at 4:53

Paulo Henrique's user avatar

Is this what you want to do?

def filas(lista):
    res=[]
    for elemento in lista:
        x = sum(elemento) # <- change this line.
        res.append(x)
    print(res)

answered May 22, 2017 at 1:15

tell k's user avatar

tell ktell k

6052 gold badges7 silver badges18 bronze badges

На уроке рассматриваются алгоритмы работы с двумерными массивами в Python: создание матрицы, инициализация элементов, вывод, обработка элементов матрицы

Создание, вывод и ввод матрицы в Питоне

    Для работы с матрицами в 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]]
  • Вывод матрицы можно осуществить одним оператором, но такой простой способ не позволяет выполнять какой-то предварительной обработки элементов:

Результат:
 

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

  • Для вывода матрицы в виде таблицы можно использовать специально заготовленную для этого процедуру:
    1. способ:
    2. 1
      2
      3
      4
      5
      
      def printMatrix ( matrix ): 
         for i in range ( len(matrix) ): 
            for j in range ( len(matrix[i]) ): 
                print ( "{:4d}".format(matrix[i][j]), end = "" ) 
            print ()

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

    3. способ:
    4. 1
      2
      3
      4
      5
      
      def printMatrix ( matrix ): 
         for row in matrix: 
            for x in row: 
                print ( "{:4d}".format(x), end = "" ) 
            print ()

      Внешний цикл проходит по строкам матрицы (row), а внутренний цикл проходит по элементам каждой строки (x).

  • Для инициализации элементов матрицы случайными числами используется алгоритм:
  • 1
    2
    3
    4
    
    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] — это элемент третьей строки четвертого столбца.

    Пример обработки элементов матрицы:
    Найти произведение элементов двумерного массива.

    ✍ Решение:
     

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

    Пример:
    Найти сумму элементов двумерного массива.

    ✍ Решение:
     

    Более подходящий вариант для Python:

    1
    2
    3
    4
    
    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

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

    t[0][0]=-8 t[0][1]=-14 t[0][2]=-19 t[0][3]=-18
    t[1][0]=25 t[1][1]=28 t[1][2]=26 t[1][3]=20
    t[2][0]=11 t[2][1]=18 t[2][2]=20 t[2][3]=25
    1. Распечатать температуру на 2-й метеостанции за 4-й день и на 3-й метеостанции за 1-й день.
    2. Распечатать показания термометров всех метеостанций за 2-й день.
    3. Определить среднюю температуру на 3-й метеостанции.
    4. Распечатать, в какие дни и на каких метеостанциях температура была в диапазоне 24-26 градусов тепла.

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

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

  • Для обработки элементов квадратной матрицы (размером N x N):
  • Для элементов главной диагонали достаточно использовать один цикл:
  • for i in range(N): 
       # работаем с matrix[i][i]
  • Для элементов побочной диагонали:
  • for i in range(N): 
       # работаем с matrix[i][N-1-i]

    Пример:Переставить 2-й и 4-й столбцы матрицы. Использовать два способа.

    ✍ Решение:
     

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

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

  • минимальный элемент, лежащий ниже побочной диагонали;
  • произведение ненулевых элементов последней строки.
  • Перейти к содержанию

    Суммы строк и столбцов матрицы

    Просмотров 10.6к. Обновлено 15 октября 2021

    Посчитать суммы каждой строки и каждого столбца матрицы. Вывести суммы строк в конце каждой строки, а суммы столбцов под соответствующими столбцами.

    Поскольку двумерный массив обычно перебирается построчно, то сумму строк считать проще. Можно, заполняя строку матрицы и выводя ее элементы на экран, накапливать в переменной сумму элементов строки и выводить ее в конце строки.

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

    Выводить суммы столбцов следует в отдельном цикле.

    Pascal


    const
    M = 10;
    N = 5;
    var
    a: array[1..N,1..M] of integer;
    i, j: byte;
    s: integer;
    sc: array[1..M] of integer;
    begin
    for i:= 1 to M do
    sc[i] := 0;

    for i:=1 to N do begin
    s := 0;
    for j:=1 to M do begin
    a[i,j] := random(10);
    write(a[i,j]:6);
    s := s + a[i,j];
    sc[j] := sc[j] + a[i,j]
    end;
    writeln (' |', s);
    end;
    for i:= 1 to M do
    write('--':6);
    writeln;
    for i:= 1 to M do
    write(sc[i]:6);
    writeln;

    end.



    Пример выполнения программы:

    5 5 7 8 6 8 5 8 4 6 |62
    6 3 4 2 8 0 9 2 3 4 |41
    7 8 5 4 5 3 9 8 0 3 |52
    0 6 0 3 8 9 7 1 8 8 |50
    9 4 7 8 4 5 7 6 1 7 |58
    -- -- -- -- -- -- -- -- -- --
    27 26 23 25 31 25 37 25 16 28

    Язык Си

    сумма элементов каждого столбца матрицы c++


    #include < stdio.h>
    #define M 10
    #define N 5
    main() {
    int a[N][M];
    int sc[M];
    int s, i, j;
    srand(time(NULL));
    for (i=0; i< M; i++) sc[i] = 0;
    for (i=0; i< N; i++) {
    s = 0;
    for (j=0; j< M; j++) {
    a[i][j] = rand() % 10;
    printf("%5d", a[i][j]);
    s += a[i][j];
    sc[j] += a[i][j];
    }
    printf(" |%dn", s);
    }
    for (i=0; i< M; i++)
    printf("%5s", "--");
    printf("n");
    for (i=0; i< M; i++)
    printf("%5d", sc[i]);
    printf("n");
    }

    Python

    сумма элементов строки матрицы python (питон)


    from random import random
    M = 10
    N = 5
    a = []
    for i in range(N):
    b = []
    for j in range(M):
    b.append(int(random()*11))
    print("%3d" % b[j], end='')
    a.append(b)
    print(' |', sum(b))

    for i in range(M):
    print(" --", end='')
    print()

    for i in range(M):
    s = 0
    for j in range(N):
    s += a[j][i]
    print("%3d" % s, end='')
    print()



    Пример(ы) выполнения программы на языке Python:

    6 7 3 10 10 10 4 2 6 5 | 63
    2 8 0 9 0 4 9 3 6 3 | 44
    5 3 1 10 5 6 5 2 0 9 | 46
    10 9 10 8 7 8 5 2 10 9 | 78
    3 3 6 0 4 1 6 10 10 3 | 46
    -- -- -- -- -- -- -- -- -- --
    26 30 20 37 26 29 29 19 32 29
    В Python используется немного иной алгоритм решения задачи. Сначала создается пустой список - будущая матрица. Далее в цикле в нее добавляются вложенные списки.

    Суммы строк матрицы вычисляются с помощью функции sum(), которой передается текущий список-строка цикла.

    Суммы столбцов вычисляются путем прохода по каждому столбу матрицы. Обратите внимание, что здесь наоборот: внешний цикл - проход по столбцам, внутренний - по строкам.

    КуМир


    алг суммы строк столбцов
    нач
    цел M = 10, N = 5
    цел таб a[1:N,1:M], sc[1:M]
    цел i, j, s
    нц для i от 1 до M
    sc[i] := 0
    кц

    нц для i от 1 до N
    s := 0
    нц для j от 1 до M
    a[i,j] := int(rand(0,10))
    вывод a[i,j], " "
    s := s + a[i,j]
    sc[j] := sc[j] + a[i,j]
    кц
    вывод " |", s, нс
    кц

    нц для i от 1 до M
    вывод "---"
    кц
    вывод нс
    нц для i от 1 до M
    вывод sc[i], " "
    кц
    кон

    Basic-256


    M = 10
    N = 5
    dim a(N,M)
    dim sc(M)
    for i = 0 to N-1
    s = 0
    for j=0 to M-1
    a[i,j] = int(rand*10)
    print a[i,j] + " ";
    s = s + a[i,j]
    sc[j] = sc[j] + a[i,j]
    next j
    print " |" + s
    next i

    for i=0 to M-1
    print "-- ";
    next i
    print
    for i=0 to M-1
    print sc[i] + " ";
    next i
    print

    I want to sum a 2 dimensional array in python:

    Here is what I have:

    def sum1(input):
        sum = 0
        for row in range (len(input)-1):
            for col in range(len(input[0])-1):
                sum = sum + input[row][col]
    
        return sum
    
    
    print sum1([[1, 2],[3, 4],[5, 6]])
    

    It displays 4 instead of 21 (1+2+3+4+5+6 = 21). Where is my mistake?

    Eric Leschinski's user avatar

    asked May 23, 2012 at 3:43

    Ronaldinho Learn Coding's user avatar

    1

    I think this is better:

     >>> x=[[1, 2],[3, 4],[5, 6]]                                                   
    >>> sum(sum(x,[]))                                                             
    21
    

    answered Nov 27, 2012 at 6:07

    hit9's user avatar

    3

    You could rewrite that function as,

    def sum1(input):
        return sum(map(sum, input))
    

    Basically, map(sum, input) will return a list with the sums across all your rows, then, the outer most sum will add up that list.

    Example:

    >>> a=[[1,2],[3,4]]
    >>> sum(map(sum, a))
    10
    

    Eric Leschinski's user avatar

    answered May 23, 2012 at 3:58

    machow's user avatar

    machowmachow

    1,0341 gold badge9 silver badges16 bronze badges

    1

    This is yet another alternate Solution

    In [1]: a=[[1, 2],[3, 4],[5, 6]]
    In [2]: sum([sum(i) for i in a])
    Out[2]: 21
    

    answered May 14, 2015 at 16:44

    Ajay's user avatar

    AjayAjay

    5,1972 gold badges23 silver badges30 bronze badges

    0

    And numpy solution is just:

    import numpy as np
    x = np.array([[1, 2],[3, 4],[5, 6]])
    

    Result:

    >>> b=np.sum(x)
       print(b)
    21
    

    MAYUR K's user avatar

    answered May 23, 2012 at 3:50

    Akavall's user avatar

    AkavallAkavall

    81.7k51 gold badges205 silver badges248 bronze badges

    3

    Better still, forget the index counters and just iterate over the items themselves:

    def sum1(input):
        my_sum = 0
        for row in input:
            my_sum += sum(row)
        return my_sum
    
    print sum1([[1, 2],[3, 4],[5, 6]])
    

    One of the nice (and idiomatic) features of Python is letting it do the counting for you. sum() is a built-in and you should not use names of built-ins for your own identifiers.

    answered May 23, 2012 at 3:59

    msw's user avatar

    mswmsw

    42.5k9 gold badges87 silver badges112 bronze badges

    This is the issue

    for row in range (len(input)-1):
        for col in range(len(input[0])-1):
    

    try

    for row in range (len(input)):
        for col in range(len(input[0])):
    

    Python’s range(x) goes from 0..x-1 already

    range(…)
    range([start,] stop[, step]) -> list of integers

    Return a list containing an arithmetic progression of integers.
    range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
    When step is given, it specifies the increment (or decrement).
    For example, range(4) returns [0, 1, 2, 3].  The end point is omitted!
    These are exactly the valid indices for a list of 4 elements.
    

    answered May 23, 2012 at 3:45

    dfb's user avatar

    dfbdfb

    13.1k2 gold badges30 silver badges52 bronze badges

    range() in python excludes the last element. In other words, range(1, 5) is [1, 5) or [1, 4]. So you should just use len(input) to iterate over the rows/columns.

    def sum1(input):
        sum = 0
        for row in range (len(input)):
            for col in range(len(input[0])):
                sum = sum + input[row][col]
    
        return sum
    

    answered May 23, 2012 at 3:45

    spinlok's user avatar

    spinlokspinlok

    3,54318 silver badges27 bronze badges

    Don’t put -1 in range(len(input)-1) instead use:

    range(len(input))
    

    range automatically returns a list one less than the argument value so no need of explicitly giving -1

    answered May 23, 2012 at 3:46

    Kartik Anand's user avatar

    Kartik AnandKartik Anand

    4,4755 gold badges41 silver badges72 bronze badges

    def sum1(input):
        return sum([sum(x) for x in input])
    

    answered Sep 13, 2018 at 22:49

    J F Fitch's user avatar

    J F FitchJ F Fitch

    1161 silver badge3 bronze badges

    Quick answer, use…

    total = sum(map(sum,[array]))
    

    where [array] is your array title.

    Nuwan Alawatta's user avatar

    answered Apr 1, 2018 at 20:54

    Finger Picking Good's user avatar

    1

    In Python 3.7

    import numpy as np
    x = np.array([ [1,2], [3,4] ])
    sum(sum(x))
    

    outputs

    10
    

    answered Jan 21, 2019 at 14:51

    Rich006's user avatar

    Speed comparison

    import random
    import timeit
    import numpy
    x = [[random.random() for i in range(100)] for j in range(100)]
    xnp = np.array(x)
    

    Methods

    print("Sum python array:")
    %timeit sum(map(sum,x))
    %timeit sum([sum(i) for i in x])
    %timeit sum(sum(x,[]))
    %timeit sum([x[i][j] for i in range(100) for j in range(100)])
    
    print("Convert to numpy, then sum:")
    %timeit np.sum(np.array(x))
    %timeit sum(sum(np.array(x)))
    
    print("Sum numpy array:")
    %timeit np.sum(xnp)
    %timeit sum(sum(xnp))
    

    Results

    Sum python array:
    130 µs ± 3.24 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
    149 µs ± 4.16 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
    3.05 ms ± 44.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
    2.58 ms ± 107 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
    Convert to numpy, then sum:
    1.36 ms ± 90.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
    1.63 ms ± 26.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
    Sum numpy array:
    24.6 µs ± 1.95 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
    301 µs ± 4.78 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
    

    answered Apr 5, 2022 at 10:13

    Erik's user avatar

    ErikErik

    316 bronze badges

    1

    It seems like a general consensus is that numpy is a complicated solution. In comparison to simpler algorithms. But for the sake of the answer being present:

    import numpy as np
    
    
    def addarrays(arr):
    
        b = np.sum(arr)
        return sum(b)
    
    
    array_1 = [
      [1, 2],
      [3, 4],
      [5, 6]
    ]
    print(addarrays(array_1))
    

    This appears to be the preferred solution:

    x=[[1, 2],[3, 4],[5, 6]]                                                   
    sum(sum(x,[]))                                                             
    

    answered Sep 26, 2019 at 0:14

    peyo's user avatar

    peyopeyo

    3394 silver badges14 bronze badges

    def sum1(input):
        sum = 0
        for row in input:
            for col in row:
                sum += col
        return sum
    print(sum1([[1, 2],[3, 4],[5, 6]]))
    

    Sefan's user avatar

    Sefan

    6991 gold badge8 silver badges23 bronze badges

    answered Aug 17, 2021 at 7:57

    Mbuthi Mungai's user avatar

    def sum1(input):
        sum = 0
        for row in range (len(input)-1):
            for col in range(len(input[0])-1):
                sum = sum + input[row][col]
    
        return sum
    
    
    print (sum1([[1, 2],[3, 4],[5, 6]]))
    

    You had a problem with parenthesis at the print command….
    This solution will be good now
    The correct solution in Visual Studio Code

    McLovin's user avatar

    McLovin

    5598 silver badges20 bronze badges

    answered Aug 8, 2022 at 17:12

    OTIENO BRIAN's user avatar

    1

    I think this is what you are trying to do

    def sum1(arr):
    sum = 0
    for i in range(len(arr)):
        for j in range(len(arr[0])):
            sum += arr[i][j]
    return sum
    
    print(sum1([[1, 2], [3, 4], [5, 6]]))
    

    answered Mar 15 at 14:57

    Saad Muhammad's user avatar

    1

    0 / 0 / 0

    Регистрация: 10.02.2020

    Сообщений: 13

    1

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

    11.05.2020, 15:34. Показов 28859. Ответов 13


    Студворк — интернет-сервис помощи студентам

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

    Входные данные

    В первой строке записаны через пробел размеры матрицы: количество строк 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

    Выходные данные

    20



    0



    Xiliatey

    0 / 0 / 0

    Регистрация: 05.05.2020

    Сообщений: 7

    11.05.2020, 19:00

    2

    Ты, наверное, ошибся с выходными данными. Если да, то вот решение:

    Python
    1
    2
    3
    4
    5
    6
    7
    
    n = int(input())
    m = int(input())
    s = 0
    for i in range(n * m):
        m = int(input())
        s = s + m
    print(s)

    Ввод:
    4 5
    1 2 3 4 5
    6 12 8 9 10
    11 12 12 14 15
    16 17 18 12 20
    Вывод:
    210



    0



    4465 / 3145 / 1112

    Регистрация: 21.03.2016

    Сообщений: 7,829

    11.05.2020, 19:05

    3

    Xiliatey, а вы хоть свой код пробовали запустить???

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

    Ввод:
    4 5
    1 2 3 4 5
    6 12 8 9 10
    11 12 12 14 15
    16 17 18 12 20

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



    0



    0 / 0 / 0

    Регистрация: 05.05.2020

    Сообщений: 7

    11.05.2020, 19:11

    4

    Semen-Semenich, А зачем с пробелами вводить?



    0



    Semen-Semenich

    4465 / 3145 / 1112

    Регистрация: 21.03.2016

    Сообщений: 7,829

    11.05.2020, 19:28

    5

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

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

    Python
    1
    2
    3
    4
    5
    6
    7
    
    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_)
    Python
    1
    2
    
    n,m = map(int,input().split())
    print(sum(sum(map(int,input().split())) for _ in range(n)))



    1



    MSP_cyber

    15 / 14 / 3

    Регистрация: 29.03.2015

    Сообщений: 94

    12.05.2020, 08:34

    6

    Semen-Semenich,

    В коде

    Python
    1
    2
    3
    4
    5
    6
    7
    
    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 чисел

    а в коде

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

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

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

    Python
    1
    
    <list> = map (int, input (). split ())

    Длина <list> должна быть равна m.



    0



    Am I evil? Yes, I am!

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

    15688 / 8936 / 2595

    Регистрация: 21.10.2017

    Сообщений: 20,612

    12.05.2020, 09:07

    7

    MSP_cyber, ТЗ как бы прямо говорит:

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

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



    0



    MSP_cyber

    15 / 14 / 3

    Регистрация: 29.03.2015

    Сообщений: 94

    12.05.2020, 09:18

    8

    iSmokeJC,
    Вот такой код

    Python
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    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)

    вообще не контролирует длины строки, и тогда зачем вводить M?



    0



    Am I evil? Yes, I am!

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

    15688 / 8936 / 2595

    Регистрация: 21.10.2017

    Сообщений: 20,612

    12.05.2020, 09:27

    9

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

    зачем вводить M?

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



    1



    z0nGG

    9 / 9 / 1

    Регистрация: 31.03.2020

    Сообщений: 19

    12.05.2020, 12:28

    10

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

    Python
    1
    2
    3
    4
    5
    6
    
    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 минуту
    я решил, попробуй сдать)



    1



    15 / 14 / 3

    Регистрация: 29.03.2015

    Сообщений: 94

    12.05.2020, 13:06

    11

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

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



    1



    unfindable_404

    Эксперт Python

    690 / 473 / 204

    Регистрация: 22.03.2020

    Сообщений: 1,052

    12.05.2020, 13:11

    12

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

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

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

    Python
    1
    2
    3
    4
    5
    6
    
    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)



    1



    9 / 9 / 1

    Регистрация: 31.03.2020

    Сообщений: 19

    12.05.2020, 17:54

    13

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



    0



    4465 / 3145 / 1112

    Регистрация: 21.03.2016

    Сообщений: 7,829

    12.05.2020, 18:26

    14

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

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

    по заданию пользователь ничего не должен вводить. данные подаются на вход программе.

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

    и тогда зачем вводить M

    ну вам же конкретно ответили.

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

    Просто такие задачи даются не под конкретный язык

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

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

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



    0



    IT_Exp

    Эксперт

    87844 / 49110 / 22898

    Регистрация: 17.06.2006

    Сообщений: 92,604

    12.05.2020, 18:26

    Помогаю со студенческими работами здесь

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

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

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

    Определить длину вектора Х, если х1 – сумма элементов матрицы A, х2 – сумма элементов матрицы B, х3 – сумма С
    Заданны три квадратные матрицы A, B, C. Определить длину вектора Х (х1, х2, х3), если х1 – сумма…

    Выяснить, что больше: сумма элементов главной диагонали матрицы или сумма элементов побочной
    Выяснить, что больше: сумма элементов главной диагонали матрицы размером 4*4 или сумма элементов ее…

    Максимальная сумма элементов строки / минимальная сумма элементов столбца матрицы
    дан двумерный массив. Найти:
    а)максимальную сумму элементов строки
    б) минимальную сумму элементов…

    Искать еще темы с ответами

    Или воспользуйтесь поиском по форуму:

    14

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