s3Eva_IT2009_T3 Aspirantes a escuela de policía

Ejercicios: 3Eva_IT2009_T3 Aspirantes a escuela de policía

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

Para resolver el problema, se usa la estructura básica para un menú y una estructura de datos con los campos de la tabla aspirante. El promedio de edad es la suma de la columna edad dividido para el número de registros. En los casos de totales por género e instrucción se usarán contadores.

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 3Eva_IT2009_T3 Aspirantes a escuela de policia
# Propuesta de solucion: edelros@espol.edu.ec
# Tarea: Desarrollar caso 3, Contar por genero

import numpy as np

# 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 = np.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 ***')

ejercicios resueltos Python 3eva_it2009_t3 py_pdf

ejercicios resueltos Matlab 3eva_it2009_t3 pdf