ayuda con un problema de python

Sonia siosss en ono.com
Lun Ago 11 03:31:37 CEST 2003


hola!! tengo q hacer un rpograma sobre listas y matrices en python y mi dificultad esta en recorrer la matrix, pq solo necedito una columna determinada y yo estaba acostumbrada a recorrerla completa.
bueno os envio el enunciado completo y mi 'solucion' del 1er apartado. asi antes de lanzarme al 2º a ver si me podeis decir si voy encaminada o no
gracias!!!

ENUNCIADO:

queremos hacer un programa para extraer estadisticas acerca de las calificacionesobtenidas por una serie de estudiantes en diversas asignaturas. para ello disponemos de los siguientes datos:

un vector N cadenas llamado NIF q almacena el nif de cada estudiante

un vector de M cadenas llamado codigos q contiene los codigos de las asignaturas

una matriz notas NxM elementos q contiene la nota obtenida(flotante) por cada estudiante en cada asignatura. asi la celda notas[i][j] contiene la calificacion q el estudiante cuyo nif es nif[i] ha obtenido en la asignatura cuyo codigo es codigos[j]. en el caso de q el estudiante no este matriculado o no se haya presentado a una asignatura, la celda correspondiente contendra los valores -2 o -1 , respectivamente

se pide:

a) escribir un procedimiento q reciba como parametros la matrix y los 2 vectores y el codigo de una asignatura, y muestre por pantalla el nif de aquellos estudiantes q hayan obtenido en dicha asignatura una nota superior a la media de la asignatura. para calcular la media unicamente se deben considerar las notas de los presentados al examen

b) escribir un procedimiento q reciba como parametros la matriz notas y el vector de codigos , y muestre por pantalla el codigo de la asignatura q tiene el mayor porcentaje de presentados con respecto al de los matriculados


ahora va mi solucion del apartado a)


def (nif, codigos,notas,codigo_asig):
  #mira la posicion del codigo_asig en el vector codigos
  #para saber la columna a recorrer en la matriz
  cont=0
  for j in range(0,len(codigos)):
    if codigos[i]==codigo_asig:
      j=posic #columna a recorrer
  for i in range (0,len(notas)):
    for i==posic:
      if notas[i][j]<>'-1': #no presentado
        cont=cont+1 #num de notas
        sum=sum+notas[i][j] #suma todas las notas
  media=sum/cont
  
  for i in range(0,len(notas)):
    for j==posic:
      if notas[i][j]>media:
        print nota[i][j]
        

espero q podais ayudarme!!
gracias!!!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20030810/310de8a8/attachment.html>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es