Написать программу, которая квадратной матрице (10х10) находит произведение ненулевых диагональных элементов — Python(Питон)

import numpy as np
# get matrix, named A
diag = A.diagonal()
diag_no_0 = diag[diag != 0]
mult = np.multiply.reduce(diag_no_0)
matr = [[1,2,3,4,5,6,7,8,9,0],
        [1,0,3,4,5,6,7,8,9,1],
        [1,2,3,4,5,6,7,8,9,2],
        [1,2,3,0,5,6,0,8,9,3],
        [1,2,3,4,5,0,7,8,9,4],
        [1,2,3,4,0,6,7,8,9,5],
        [1,2,3,4,5,6,7,8,9,6],
        [1,2,3,4,5,6,7,0,9,7],
        [1,0,3,4,5,6,7,8,9,8],
        [1,2,3,4,5,6,7,8,9,9]]
 
print reduce(lambda res, x: res*x, [el[i] for i, el in enumerate(matr) if el[i] > 0], 1)
print reduce(lambda res, x: res*x, [el[i] for i, el in enumerate(matr[::-1])  if el[i] > 0], 1)
 
>>51030
864

Leave a Comment