Ejercicio: 2Eva2011TII_T4 Inscripción universitaria SNNA
Propuesta de solución en Python
Algoritmo 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')