Функция, которая возвращает сумму элементов одной строки матрицы в Python - PullRequest
0 голосов
/ 29 ноября 2018

Итак, у меня есть программа на Python, которая создает матрицу 3 x 3 (без использования numPy).Он содержит функцию, которая вводит элементы матрицы, распечатывает их и вычисляет сумму одной строки матрицы.Последняя часть, с которой у меня проблемы.Как бы я написал функцию getSumRow, чтобы она возвращала сумму элементов одной строки матрицы.В функцию передаются матрица и индекс строки.

#Program that creates a 3x3 matrix and prints sum of rows

   def getMatrix():
    A=[[[] for i in range(3)] for i in range(3)] #creating 2d list to store matrix
    for i in range(3): #setting column bounds to 3
        for j in range(3): #settting row bounds to 3
            number=int(input("Please Enter Elements of Matrix A:")) 
            A[i][j]=number #fills array using nested loops
    return A #returns 2d array (3x3 matrix)

def getSumRow(a,row):


def printMatrix(a):
    for i, element in enumerate(a): #where a is the 3x3 matrix
        print(*a[i])
    #accesses the 2d array and prints them in order of rows and columns

def main():
    #includes function calls 
    mat = getMatrix()
    print("The sum of row 1 is", getSumRow(mat,0))
    print("The sum of row 2 is", getSumRow(mat,1))
    print("The sum of row 3 is", getSumRow(mat,2))
    printMatrix(mat)

 main()

Как я могу получить его, чтобы при печати с использованием функции getSumRow он печатал сумму каждой строки матрицы в отдельности?

1 Ответ

0 голосов
/ 29 ноября 2018

Имея такую ​​матрицу, как:

matrix = [
    [1, 2, 6],
    [5, 8, 7],
    [9, 1, 2]
]

Вы можете получить строку, проиндексировав (индексы начинаются с 0) в матрицу:

matrix[1] # --> [5, 8, 7]

Поскольку это просто список, выможете позвонить sum() на него:

sum(matrix[1]) # --> 20

sum(matrix[2]) # --> 12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...