Sólo porque no tengo nada que hacer, aquí esta lo que podrías necesitar
Suerte, comenta si te sirve
(solo copia y pega esto en un editor de python y listo)
#! /usr/bin/python
#-*- coding: utf-8 -*-
#----------------------------------------------------------------------
def Pedir_Tamanio():
filas=raw_input("Cantidad de filas: ")
columnas=raw_input("Cantidad de columnas: ")
fila=int(filas)
columna=int(columnas)
return fila, columna
#----------------------------------------------------------------------
def Producto_lista(lista):
contador=0
producto=1.0
while contador<len(lista):
producto*=float(lista[contador])
contador+=1
return producto
########################################################################
class Trabajar_con_matriz:
""""""
#----------------------------------------------------------------------
def __init__(self, fila, columna):
self.fila=fila
self.columna=columna
#----------------------------------------------------------------------
def Llenar_matriz(self):
self.matriz=[]
i=0
while i<self.fila:
inter_matriz=[]
j=0
while j<self.columna:
valor=raw_input("Valor [%d][%d]: " %(i, j))
inter_matriz.append(float(valor))
j+=1
i+=1
self.matriz.append(inter_matriz)
return True
#----------------------------------------------------------------------
def Calcular_productos_por_fila(self):
i=0
while i<self.fila:
producto=Producto_lista(self.matriz[i])
print "Producto fila %d: %f" %(i+1, producto)
i+=1
return True
#----------------------------------------------------------------------
def Optener_diagonal_secundaria(self):
if self.fila==self.columna:
j=self.columna-1
i=0
print "Diagonal inversa:"
while j>=0:
print self.matriz[i][j]
i+=1
j-=1
return True
else:
print "No es una matriz cuadrada"
return False
fila, columna =Pedir_Tamanio()
Matriz=Trabajar_con_matriz(fila, columna)
Matriz.Llenar_matriz()
print "\n\n"
Matriz.Calcular_productos_por_fila()
print "\n\n"
Matriz.Optener_diagonal_secundaria()
raw_input()