Hola buen dia , soy nuevo en el foro y tambien en python , estoy cursando este lenguaje de programacion llevo 2 meses y el martes es mi examen final , la verdad antes de todo quiero decirles que le dedique tiempo pero no hay forma hay cosas en las que me trabo y no encuentro por ningun lado , me he quedado estos dias hasta muy tarde y opte por buscar ayuda en grandes como ustedes .
esto es un examen espejo tengo como 3 pero no termino aun con este!! Los temas seran en jugar con una matriz como encontrar las diagonales , o sumarlas o multiplicarlas , verificarlas , la transpuesta de una amtriz , etc...
en esta ocacion me trabe en la parte que dice !! que valide la diagonal de una matriz sean ceros(0) , aca les copio el examen espejo y lo que yo estoy avanzando
claramente la parte de el def diagonal princiapl aun no lo se , como hacer que me salga true or false y como hacer que cuando haya un 0 me salga ese print y cuando todos sean 0 el otro
			esto es un examen espejo tengo como 3 pero no termino aun con este!! Los temas seran en jugar con una matriz como encontrar las diagonales , o sumarlas o multiplicarlas , verificarlas , la transpuesta de una amtriz , etc...
en esta ocacion me trabe en la parte que dice !! que valide la diagonal de una matriz sean ceros(0) , aca les copio el examen espejo y lo que yo estoy avanzando
Código (python) [Seleccionar] 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# ******************************************************************************
# MATERIA : Informática
# EXAMEN : Especificación de Algoritmos 1er Semestre 2014
# NOMBRE : 
# MATRICULA : 
# CARRERA : 
# COMISION : Comisión 2.4
# ******************************************************************************
#
# Estimado alumno: No modifique nada del código que le proveemos y
# use los procedimientos o funciones que estan definidas.
#
# 
#
# Realice un programa en Python con las siguientes caracteristicas:
#
#
#  1) Se solicita que la cantidad de filas y columnas de una matriz CUADRADA se ingrese por teclado.
#
#
#  2) Se debe validar que la cantidad de filas y columnas son mayores a cero. 
#     De no cumplirse la condición, volver a solicitar dicho valor hasta
#     que éste sea válido.
#
#
#  3) Se deben ingresar los valores de la matriz por el teclado, los valores deben ser numeros enteros 
#     pero NO es necesario verificarlo
#
#
#  4) Se debe crear una función que reciba una matriz y verifique que sus elementos sean
#     numeros pares, caso contrario el elemento debe ser remplazado por un 0
#
#     El nombre de la función es obtener_matriz_de_pares y su encabezado 
#     ya se encuentra declarado a continuación del enunciado.
#     No se deben modificar ni el nombre ni los parámetros de la función. 
#
#
#  5) Se debe mostrar la matriz ingresada por consola, bajo el título " \\ Matriz Ingresada \\ ".
#     La impresión de la matriz debe realizarse utilizando el formato de matriz, tal y 
#     como se muestra en el ejemplo de ejecución al final del enunciado.
#     
#     Luego se debe mostrar la matriz de elementos pares bajo el título " \\ Matriz Pares \\ ".
#     La impresión de la matriz debe realizarse utilizando el formato de matriz, tal y 
#     como se muestra en el ejemplo de ejecución al final del enunciado.
#
#
#  6) Se debe crear una función que reciba una matriz y verifique que todos los
#     elementos de la diagonal principal sean cero. Si se cumple la condición,
#     la función devolverá True. En caso contrario, devolverá False.
#
#     El nombre de la función es verificar_valores_diagonal y su encabezado 
#     ya se encuentra declarado a continuación del enunciado.
#     No se deben modificar ni el nombre ni los parámetros de la función. 
#
#  7) Se debe crear una función que reciba una matriz y devuelva como valor de 
#     retorno la cantidad de elementos diferentes de cero en su diagonal. 
#
#     El nombre de la función es contar_no_nulos_diagonal y su encabezado 
#     ya se encuentra declarado a continuación del enunciado.
#     No se deben modificar ni el nombre ni los parámetros de la función. 
#
#
#  8) Si se cumple que los elementos de la diagonal son todos nulos,
#     mostrar por consola el siguiente mensaje:
#
#     " """ Los elementos de la diagonal son todos cero """ ".
#
#     En caso de no cumplirse la condición, mostrar el mensaje:
#
#     " """ Los elementos de la diagonal no son todos cero, hay x elementos no nulos """ ".
#
#     Donde x debe remplazarse por la cantidad de elementos no nulos en la matriz. 
#
#     Los mensajes deben respetarse tal y como lo solicita el enunciado y como se muestran
#     en los ejemplos de ejecución.
#
#
# ******************************************************************************
#
# ****     Ejemplo de Ejecución de caso particular 1     ****
#
# Filas y Columnas: 4
#
# Elemento (0,0): 1
# Elemento (0,1): 0
# Elemento (0,2): 5
# Elemento (0,3): 9
# Elemento (1,0): 0
# Elemento (1,1): 15
# Elemento (1,2): 0
# Elemento (1,3): 7
# Elemento (2,0): 0
# Elemento (2,1): 5
# Elemento (2,2): 0
# Elemento (2,3): 86
# Elemento (3,0): 45
# Elemento (3,1): 37
# Elemento (3,2): 10
# Elemento (3,3): 87
#
# \\ Matriz Ingresada \\
#
#  1   0   5   9
#  0  15   0   7
#  0   5   0  86
# 45  37  10  87
#
# \\ Matriz Pares \\
#
#  0   0   0   0
#  0   0   0   0
#  0   0   0  86
#  0   0  10   0
#
#
# """ Los elementos de la diagonal son todos cero """ 
#
# ******************************************************************************
#
# ****     Ejemplo de Ejecución de caso particular 2     ****
#
# Filas y Columnas: 2
#
# Elemento (0,0): 2
# Elemento (0,1): 3
# Elemento (1,0): 5
# Elemento (1,1): 9
#
# \\ Matriz Ingresada \\
#
#  2   3
#  9   5
#
# \\ Matriz Pares \\
#
#  2   0
#  0   0
#
#
#
# """ Los elementos de la diagonal no son todos cero, hay 1 elementos no nulos """ 
#
# -----------------------------------------------------------------------------
#
# *******       Tabla de Corrección        *******
#-------------------------------------------------------------------                                                                
# - Ingreso y Validación de Datos :                  20 puntos.| 10| 
#-------------------------------------------------------------------  
# - Programa Principal :                             15 puntos.|  0|
#-------------------------------------------------------------------  
# - Impresión de Resultados y Formato :              20 puntos.|  5|
#-------------------------------------------------------------------  
# - Función obtener_matriz_de_pares :                20 puntos.|  5|
#-------------------------------------------------------------------  
# - Función verificar_valores_diagonal :             10 puntos.| 10|
#-------------------------------------------------------------------  
# - Función contar_no_nulos_diagonal :               10 puntos.|  0|
#-------------------------------------------------------------------  
# - Comentarios y Semántica :                         5 puntos.|  0|
#-------------------------------------------------------------------  
#                                          TOTAL :  100 puntos.| 30|
#-------------------------------------------------------------------  
#
#
# ******************************************************************************
# Definición de Funciones
##
##def obtener_matriz_de_pares(mat):
##    return 
##
##def verificar_valores_diagonal(mat) :
##    return 
##
##def contar_no_nulos_diagonal(mat) :
##    return 
# Programa Principal
# ...complete el codigo aqui...
Y ESTO ES LO QUE YO AVANZE :
def obtener_matriz_de_pares (mat):
  A=mat*1
  print"Matriz de pares"  
  for i in range (len(mat)):
    for j in range (len(mat[0])):
      A[i][j]=mat[i][j]
    
    
  for i in range (len(A)):
    for j in range (len(A[0])):
      if A[i][j] % 2 !=0 : 
        A[i][j]= 0
        
      print A[i][j],
    print
  return A
    
def verificar_valores_diagonal(mat) :
  B=mat*1
  print"diagonal principal"  
  for i in range (len(mat)):
    for j in range (len(mat[0])):
      B[i] = mat[i][0+i]
  for i in range (len(B)):
    print B[i],
  print
  
      
    
    
##    print B[i],
##  print
        
      
        
#menu principal
fil = int(raw_input("ingrese una fila: "))
while fil < 0:
  fil = int(raw_input("ingrese nuevamente la fila: "))
col = int(raw_input("ingrese una columna: "))
while col < 0:
  col = int(raw_input("ingrese nuevamente la columna: "))
  
M=[]
if fil == col :
  
    for i in range (fil):
      M.append (col*[0])
  
    for i in range (fil):
      for j in range (col):
        M[i][j]= int(raw_input("componente: (%d,%d)"%(i,j)))
    
    for i in range (len(M)):
      for j in range (len(M[0])):
        print M[i][j],
      print 
      
    
      
    
else :
  print "la matriz no es cuadrada"
  
F=obtener_matriz_de_pares (M)
verificar_valores_diagonal(F)
##raw_input ()
claramente la parte de el def diagonal princiapl aun no lo se , como hacer que me salga true or false y como hacer que cuando haya un 0 me salga ese print y cuando todos sean 0 el otro