ayuda con un problema de python

Sonia siosss en ono.com
Mie Ago 13 18:07:12 CEST 2003


hola!
supongo q el codigo ya esta correcto . ahora mi duda es en el programa
principal.
al ejecutarlo me pidde el numero y despues dme dice q 'm' no esta definida
en aki:

notas=[]
n=int(raw_input('dime un numero: '))
for i in range(n):
  notas.append([0.0]*m)
despues en el principal, como me has dicho q lo de rdo1, y rdo2 no tenia
sentido. los prints estan dentro de las funciones, pero q tengo q poner en
el principal para llamarlos.

#PROGRAMA PRINCIPAL


nif=["07525818J","18234590V","10437112X","21334801A"]
codigos=["IG20","IG02","IG03","IG04","J11"]
codigo_asig='IG02'
#inicializo la matriz

notas=[]
n=int(raw_input('dime un numero: '))
for i in range(n):
  notas.append([0.0]*m)


for i in range(0,n):
    for j in range(0,n):
        mat[i,j]=float(raw_input('valor de la matriz: '))

print notas
#print 'Estudiantes con nota superior a la media', rdo1
#print 'Asignatura con mayor porcentaje', rdo2



bueno, te vuelvo a mandar el codigo completo, por si acaso!
a ver siya sale x fin!!!
gracias de nuevo!!!

#procedimiento q reciba como parametros la matriz,
#los 2 vectores nif y codigos, y el codigo de la
#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 unicamentese deben considerar las
#notas de los presentados al examen


def p1(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 codigos:
    if codigos[j]==codigo_asig:
      posic=j #columna a recorrer

  media=0
  sum=0

  for i in range (0,len(nif)):
    # ahora  j es posic:
      if notas[i][posic]>0: #no presentado y no presentado
        cont=cont+1 #num de notas
        sum=sum+notas[i][posic] #suma todas las notas
  media=sum/cont

  for i in range(0,len(nif)):
      if notas[i][posic]>media:
        print nif[i]




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

def p2(notas,codigos):

#recorro la matriz y hago un vector q pondre el
#contador de cada columna cuando sean <> -1

  vcont=[0]*len(codigos)
  vmatriculas=[0]*len(codigos)


  for i in range(0,len(nif)):
    for j in range(0,len(codigos)):
      if notas[i][j]<>-2: # matriculados
        vmatriculas[j]=vmatriculas[j]+1
        if notas[i][j]<> -1: # presentados
          vcont[j]=vcont[j]+1


  #ver la posicion q tiene el maximo contador
  maxi=0
  pos=0
  for i in range(0,len(vcont)):
    if vcont[i] / vmatriculas[i] >maxi:
      maxi=vcont[i]
      #no pongo el cociente pq como maximo,
      #para el resultado solo kiero el codigo de la asignatura , no??

      pos=i
  print codigo[pos]


#PROGRAMA PRINCIPAL


nif=["07525818J","18234590V","10437112X","21334801A"]
codigos=["IG20","IG02","IG03","IG04","J11"]
codigo_asig='IG02'
#inicializo la matriz

notas=[]
n=int(raw_input('dime un numero: '))
for i in range(n):
  notas.append([0.0]*m)


for i in range(0,n):
    for j in range(0,n):
        mat[i,j]=float(raw_input('valor de la matriz: '))

print notas
#print 'Estudiantes con nota superior a la media', rdo1
#print 'Asignatura con mayor porcentaje', rdo2



----- Original Message -----
From: Chema Cortés <ch3m4 en ch3m4.org>
To: <python-es en aditel.org>
Sent: Wednesday, August 13, 2003 3:28 AM
Subject: [Python-es] Re: ayuda con un problema de python


> Chema Cortés escribió:
>
> >>   for i in range(0,len(nif)):
> >>     for j in range(0,len(codigos)):
> >>       if notas[i][j]<>-2: # matriculados
> >>         vmatriculas=vmatriculas+1
> >
> >
> > Te has dejado de poner el índice de vmatriculas
> >
> >>         if notas[i][j]<> -1: # presentados
> >>           vcont[j]=vcont[j]+1
> >
> >
> > Este 'if' está mal identado. Debería estar al mismo nivel que el otro
if.
>
> Perdón, este 'if' estaba bien identado. :-(
>
>
> _______________________________________________
> 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