elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / ayuda con python urgente!! en: 20 Junio 2015, 21:02 pm
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


Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # ******************************************************************************
  5. # MATERIA : Informática
  6. # EXAMEN : Especificación de Algoritmos 1er Semestre 2014
  7. # NOMBRE :
  8. # MATRICULA :
  9. # CARRERA :
  10. # COMISION : Comisión 2.4
  11. # ******************************************************************************
  12. #
  13. # Estimado alumno: No modifique nada del código que le proveemos y
  14. # use los procedimientos o funciones que estan definidas.
  15. #
  16. #
  17. #
  18. # Realice un programa en Python con las siguientes caracteristicas:
  19. #
  20. #
  21. #  1) Se solicita que la cantidad de filas y columnas de una matriz CUADRADA se ingrese por teclado.
  22. #
  23. #
  24. #  2) Se debe validar que la cantidad de filas y columnas son mayores a cero.
  25. #     De no cumplirse la condición, volver a solicitar dicho valor hasta
  26. #     que éste sea válido.
  27. #
  28. #
  29. #  3) Se deben ingresar los valores de la matriz por el teclado, los valores deben ser numeros enteros
  30. #     pero NO es necesario verificarlo
  31. #
  32. #
  33. #  4) Se debe crear una función que reciba una matriz y verifique que sus elementos sean
  34. #     numeros pares, caso contrario el elemento debe ser remplazado por un 0
  35. #
  36. #     El nombre de la función es obtener_matriz_de_pares y su encabezado
  37. #     ya se encuentra declarado a continuación del enunciado.
  38. #     No se deben modificar ni el nombre ni los parámetros de la función.
  39. #
  40. #
  41. #  5) Se debe mostrar la matriz ingresada por consola, bajo el título " \\ Matriz Ingresada \\ ".
  42. #     La impresión de la matriz debe realizarse utilizando el formato de matriz, tal y
  43. #     como se muestra en el ejemplo de ejecución al final del enunciado.
  44. #    
  45. #     Luego se debe mostrar la matriz de elementos pares bajo el título " \\ Matriz Pares \\ ".
  46. #     La impresión de la matriz debe realizarse utilizando el formato de matriz, tal y
  47. #     como se muestra en el ejemplo de ejecución al final del enunciado.
  48. #
  49. #
  50. #  6) Se debe crear una función que reciba una matriz y verifique que todos los
  51. #     elementos de la diagonal principal sean cero. Si se cumple la condición,
  52. #     la función devolverá True. En caso contrario, devolverá False.
  53. #
  54. #     El nombre de la función es verificar_valores_diagonal y su encabezado
  55. #     ya se encuentra declarado a continuación del enunciado.
  56. #     No se deben modificar ni el nombre ni los parámetros de la función.
  57. #
  58. #  7) Se debe crear una función que reciba una matriz y devuelva como valor de
  59. #     retorno la cantidad de elementos diferentes de cero en su diagonal.
  60. #
  61. #     El nombre de la función es contar_no_nulos_diagonal y su encabezado
  62. #     ya se encuentra declarado a continuación del enunciado.
  63. #     No se deben modificar ni el nombre ni los parámetros de la función.
  64. #
  65. #
  66. #  8) Si se cumple que los elementos de la diagonal son todos nulos,
  67. #     mostrar por consola el siguiente mensaje:
  68. #
  69. #     " """ Los elementos de la diagonal son todos cero """ ".
  70. #
  71. #     En caso de no cumplirse la condición, mostrar el mensaje:
  72. #
  73. #     " """ Los elementos de la diagonal no son todos cero, hay x elementos no nulos """ ".
  74. #
  75. #     Donde x debe remplazarse por la cantidad de elementos no nulos en la matriz.
  76. #
  77. #     Los mensajes deben respetarse tal y como lo solicita el enunciado y como se muestran
  78. #     en los ejemplos de ejecución.
  79. #
  80. #
  81. # ******************************************************************************
  82. #
  83. # ****     Ejemplo de Ejecución de caso particular 1     ****
  84. #
  85. # Filas y Columnas: 4
  86. #
  87. # Elemento (0,0): 1
  88. # Elemento (0,1): 0
  89. # Elemento (0,2): 5
  90. # Elemento (0,3): 9
  91. # Elemento (1,0): 0
  92. # Elemento (1,1): 15
  93. # Elemento (1,2): 0
  94. # Elemento (1,3): 7
  95. # Elemento (2,0): 0
  96. # Elemento (2,1): 5
  97. # Elemento (2,2): 0
  98. # Elemento (2,3): 86
  99. # Elemento (3,0): 45
  100. # Elemento (3,1): 37
  101. # Elemento (3,2): 10
  102. # Elemento (3,3): 87
  103. #
  104. # \\ Matriz Ingresada \\
  105. #
  106. #  1   0   5   9
  107. #  0  15   0   7
  108. #  0   5   0  86
  109. # 45  37  10  87
  110. #
  111. # \\ Matriz Pares \\
  112. #
  113. #  0   0   0   0
  114. #  0   0   0   0
  115. #  0   0   0  86
  116. #  0   0  10   0
  117. #
  118. #
  119. # """ Los elementos de la diagonal son todos cero """
  120. #
  121. # ******************************************************************************
  122. #
  123. # ****     Ejemplo de Ejecución de caso particular 2     ****
  124. #
  125. # Filas y Columnas: 2
  126. #
  127. # Elemento (0,0): 2
  128. # Elemento (0,1): 3
  129. # Elemento (1,0): 5
  130. # Elemento (1,1): 9
  131. #
  132. # \\ Matriz Ingresada \\
  133. #
  134. #  2   3
  135. #  9   5
  136. #
  137. # \\ Matriz Pares \\
  138. #
  139. #  2   0
  140. #  0   0
  141. #
  142. #
  143. #
  144. # """ Los elementos de la diagonal no son todos cero, hay 1 elementos no nulos """
  145. #
  146. # -----------------------------------------------------------------------------
  147. #
  148. # *******       Tabla de Corrección        *******
  149. #-------------------------------------------------------------------                                                                
  150. # - Ingreso y Validación de Datos :                  20 puntos.| 10|
  151. #-------------------------------------------------------------------  
  152. # - Programa Principal :                             15 puntos.|  0|
  153. #-------------------------------------------------------------------  
  154. # - Impresión de Resultados y Formato :              20 puntos.|  5|
  155. #-------------------------------------------------------------------  
  156. # - Función obtener_matriz_de_pares :                20 puntos.|  5|
  157. #-------------------------------------------------------------------  
  158. # - Función verificar_valores_diagonal :             10 puntos.| 10|
  159. #-------------------------------------------------------------------  
  160. # - Función contar_no_nulos_diagonal :               10 puntos.|  0|
  161. #-------------------------------------------------------------------  
  162. # - Comentarios y Semántica :                         5 puntos.|  0|
  163. #-------------------------------------------------------------------  
  164. #                                          TOTAL :  100 puntos.| 30|
  165. #-------------------------------------------------------------------  
  166. #
  167. #
  168. # ******************************************************************************
  169.  
  170.  
  171. # Definición de Funciones
  172. ##
  173. ##def obtener_matriz_de_pares(mat):
  174. ##    return
  175. ##
  176. ##def verificar_valores_diagonal(mat) :
  177. ##    return
  178. ##
  179. ##def contar_no_nulos_diagonal(mat) :
  180. ##    return
  181.  
  182.  
  183. # Programa Principal
  184. # ...complete el codigo aqui...
  185.  
  186.  
  187.  
  188.  
  189. Y ESTO ES LO QUE YO AVANZE :
  190.  
  191. def obtener_matriz_de_pares (mat):
  192.  A=mat*1
  193.  print"Matriz de pares"  
  194.  for i in range (len(mat)):
  195.    for j in range (len(mat[0])):
  196.      A[i][j]=mat[i][j]
  197.  
  198.  
  199.  for i in range (len(A)):
  200.    for j in range (len(A[0])):
  201.      if A[i][j] % 2 !=0 :
  202.        A[i][j]= 0
  203.  
  204.      print A[i][j],
  205.    print
  206.  return A
  207.  
  208. def verificar_valores_diagonal(mat) :
  209.  B=mat*1
  210.  print"diagonal principal"  
  211.  for i in range (len(mat)):
  212.    for j in range (len(mat[0])):
  213.      B[i] = mat[i][0+i]
  214.  for i in range (len(B)):
  215.    print B[i],
  216.  print
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223. ##    print B[i],
  224. ##  print
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233. #menu principal
  234. fil = int(raw_input("ingrese una fila: "))
  235. while fil < 0:
  236.  fil = int(raw_input("ingrese nuevamente la fila: "))
  237. col = int(raw_input("ingrese una columna: "))
  238. while col < 0:
  239.  col = int(raw_input("ingrese nuevamente la columna: "))
  240.  
  241. M=[]
  242.  
  243. if fil == col :
  244.  
  245.    for i in range (fil):
  246.      M.append (col*[0])
  247.  
  248.    for i in range (fil):
  249.      for j in range (col):
  250.        M[i][j]= int(raw_input("componente: (%d,%d)"%(i,j)))
  251.  
  252.    for i in range (len(M)):
  253.      for j in range (len(M[0])):
  254.        print M[i][j],
  255.      print
  256.  
  257.  
  258.  
  259.  
  260.  
  261. else :
  262.  print "la matriz no es cuadrada"
  263.  
  264. F=obtener_matriz_de_pares (M)
  265. verificar_valores_diagonal(F)
  266.  
  267. ##raw_input ()
  268.  

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
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines