s2Eva_IIT2011_T4 Inscripción universitaria SNNA

Ejercicio: 2Eva_IIT2011_T4 Inscripción universitaria SNNA

Propuesta de solución en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IIT2011_T4 Inscripción universitaria SNNA
# propuesta: edelros@espol.edu.ec
import numpy as np

codprovincia = ['Guayas','Manabi']

opcion = '0'
postulante = []
while not(opcion=='7'):
    print('1. Registrar Postulante')
    print('2. Grabar archivo de datos')
    print('3. Abrir archivo de datos')
    print('4. Consulta Día de prueba')
    print('5. Postulantes por provincia')
    print('6. Postulantes por carrera')
    print('7. Salir')

    opcion = input('opcion: ')

    if opcion=='1':
        print('  -- 1. Registrar Postulante')
        cedu = input('cédula: ')
        nomb = input('nombre: ')
        naci = int(input('año nacimiento: '))
        while not(naci>1950):
            print('Su año de nacimiento debe ser >1950')
            naci = int(input('año nacimiento: '))
        prov = input('provincia: ')
        carr = input('carrera: ')

        registro = {'cedula':cedu,
                    'nombre':nomb,
                    'nacimiento':naci,
                    'provincia':prov,
                    'carrera':carr}
        postulante.append(registro)

        print(postulante)
        
    if opcion=='2':
        print('  -- 2. Grabar archivo de datos')
        narchivo = input('nombre del archivo: ')
        narchivo = narchivo + '.txt'

        archivo = open(narchivo,'w')
        n = len(postulante)
        fila = 0
        while not(fila>=n):
            cedu = postulante[fila]['cedula']
            nomb = postulante[fila]['nombre']
            naci = postulante[fila]['nacimiento']
            prov = postulante[fila]['provincia']
            carr = postulante[fila]['carrera']
            linea = cedu+','+nomb+','+str(naci)
            linea = linea +','+prov+','+carr+'\n'
            archivo.write(linea)
            fila = fila +1
            
        archivo.close()

    if opcion=='3':
        print('  -- 3. Abrir archivo de datos')
        narchivo = input('nombre del archivo: ')
        narchivo = narchivo + '.txt'

        postulante = []
        archivo = open(narchivo,'r')
        linea = archivo.readline()
        while not(linea==''):
            linea  = linea.strip('\n')
            partes = linea.split(',')
            cedu = partes[0]
            nomb = partes[1]
            naci = partes[2]
            prov = partes[3]
            carr = partes[4]
            registro = {'cedula':cedu,
                        'nombre':nomb,
                        'nacimiento':naci,
                        'provincia':prov,
                        'carrera':carr}
            postulante.append(registro) 
            linea = archivo.readline()
        archivo.close()
        n = len(postulante)
        print('registros leidos: ',n)

    if opcion=='4':
        print('  -- 4. Consulta Día de prueba')
        cedu = input('cedula: ')
        diaprueba ='No hay dia para ese digito\n'
        n = len(cedu)
        digito = cedu[n-2]
        if (digito =='1' or digito=='2'):
            diaprueba = 'LUNES'
        if (digito =='3' or digito=='4'):
            diaprueba = 'MARTES'

        print('el dia de su prueba es: ')
        print(digito,diaprueba)

    if opcion == '5':
        print('cuenta postulantes por provincia')
        n = len(postulante)
        m = len(codprovincia)
        contadores = np.zeros(m,dtype=int)
        i = 0
        while not(i>=n):
            origen = postulante[i]['provincia']
            indice = codprovincia.index(origen)
            contadores[indice] = contadores[indice]+1 
            i = i+1

        print(contadores)

    if opcion=='7':
        print('gracias, @espol.edu.ec')