s3Eva_IT2009_T3 Aspirantes a escuela de policia

Propuesta de solución en Python: py_pdf, también con versión en matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 3ra Evaluacion I termino 2009
# Tema 3. Aspirante escuela policia
# Propuesta de solucion: edelros@espol.edu.ec
# Tarea: Desarrollar caso 3, Contar por genero

import numpy

# Tabla usada es aspirante
aspirante=[]
n=0
opcion=0
while not(opcion==5):
    print('1. Registra aspirante')
    print('2. Promedio de edad')
    print('3. Total por genero')
    print('4. Total por instruccion')
    print('5. Salir')
    
    opcion=int(input('cual opcion: '))
    
    if (opcion==1):
        print('  Registra aspirante')
        texto=input('           nombre: ')
        numero=int(input('             edad: '))
        gen=int(input('     genero [1,2]: '))
        escolar=int(input('instruccion [1,3]: '))
        candidato={'nombre':texto,'edad':numero,'genero':gen,'instruccion':escolar}
        aspirante.append(candidato)
        n=n+1
        
    if (opcion==2):
        print('  Promedio de edad')
        # n=len(aspirante)
        suma=0
        fila=0
        while not(fila>=n):
            suma=suma+aspirante[fila]['edad']
            fila=fila+1
        promedio=suma/n
        print(promedio)
        
    if (opcion==3):
        print('  Total por genero')
        # TAREA: Contar por genero
        
    if (opcion==4):
        print('  Total por instruccion')
        # No se usará la fila 0 de veces
        veces=numpy.zeros(3+1,dtype=int)
        fila=0
        while (fila<n):
            k=aspirante[fila]['instruccion']
            veces[k]=veces[k]+1
            fila=fila+1
        # Salida
        print('   primaria: '+str(veces[1]))
        print(' segundaria: '+str(veces[2]))
        print('   superior: '+str(veces[3]))
        
    if (opcion==5):
        print(' gracias por usar el software ')

    if (opcion<1 or opcion>5):
        print(' *** NO ES OPCION DISPONIBLE ***')