import os
clear = lambda: os.system('cls')
def encontrar_alumno(num_alumno):
archivo = open(nom_archivo,"r")
alumnos = archivo.readlines()
tot_alumnos = len(alumnos)
for indice in range(tot_alumnos):
el_alumno = alumnos[indice]
alumno_leido = el_alumno.split(' ')
if alumno_leido[0]==num_alumno:
return alumno_leido
archivo.close()
return ''
def consulta_ape():
lista_ape = [] # lista a usar para agregar pertenencia
archivo = open(nom_archivo, 'r')
alumnos = archivo.readlines()
tot_alumnos = len(alumnos)
while True:
clear()
el_apellido = input('Ingrese Apellido a buscar (s para salir): ').capitalize()
if el_apellido.isalpha():
if el_apellido.lower() =='s':
break
else:
for indice in range(tot_alumnos):
el_alumno = alumnos[indice]
alumno_leido = el_alumno.split(' ')
if alumno_leido[1]==el_apellido:
lista_ape.append(alumno_leido)
archivo.close()
clear()
print (f'Alumnos con el apellido {el_apellido} encontrados')
print()
print ('Nro. Apellido Nombre Materia Grupo Nota')
print('--------------------------------------------------')
for alumno in lista_ape:
for data in alumno:
print (data, end=' ')
print()
print()
print('Pulse <Intro para volver al menu>')
input()
############
def buscar_grupo():
lista_grupo = []
archivo = open(nom_archivo, 'r')
alumnos = archivo.readlines()
tot_alumnos = len(alumnos)
while True:
clear()
nro_grupo = input('Ingrese Nro. Grupo (0 para salir): ')
if nro_grupo.isdigit():
if nro_grupo =='0':
break
else:
for indice in range(tot_alumnos):
el_alumno = alumnos[indice]
alumno_leido = el_alumno.split(' ')
if alumno_leido[4]==nro_grupo:
lista_grupo.append(alumno_leido)
archivo.close()
print ('Nro. Apellido Nombre Materia Grupo Nota')
print('------------------------------------------')
for alumno in lista_grupo:
for data in alumno:
print (data, end=' ')
print()
print()
print('Pulse <Intro para volver al menu>')
input()
def agregar():
dato_alumno = []
while True:
clear()
nro_alumno = input('Ingrese Nro. de Alumno (0 para salir): ')
if nro_alumno.isdigit():
if nro_alumno =='0':
break
else:
alumno_encontrado = encontrar_alumno(nro_alumno)
if alumno_encontrado =='':
#archivo = open(nom_archivo, 'a')
apellido = input('Ingrese Apellido : ').capitalize()
nombre = input('Ingrese Nombre : ').capitalize()
materia = input('Ingrese Materia : ').capitalize()
grupo = input('Ingrese Grupo : ')
nota = input('Ingrese Nota :')
dato_alumno.append(nro_alumno)
dato_alumno.append(apellido)
dato_alumno.append(nombre)
dato_alumno.append(materia)
dato_alumno.append(grupo)
dato_alumno.append(nota)
archivo = open(nom_archivo,"a")
for data in dato_alumno:
archivo.write(data+' ')
archivo.write('\n')
archivo.close()
dato_alumno = []
else:
print()
input ('Nro de alumno ya existe, use otro.')
else:
input ('Debe ser un numero, repita')
def lista():
clear()
archivo = open(nom_archivo,"r")
alumnos = archivo.read()
print ('Lista de Alumnos')
print ('-----------------')
print()
print (alumnos)
print()
print('Pulse <Intro para volver al menu>')
input()
archivo.close()
def consultar():
while True:
clear()
try:
num_alumno = input('Ingrese Nro de alumno a Consultar (0 para regresar): ')
if num_alumno=='0':
break
else:
alumno_encontrado = encontrar_alumno(num_alumno)
if alumno_encontrado !='':
print ('Nro Alumno: ',alumno_encontrado[0])
print ('Apellido : ',alumno_encontrado[1])
print ('Nombre : ',alumno_encontrado[2])
print ('Materia : ',alumno_encontrado[3])
print ('Nota : ',alumno_encontrado[4])
print ()
print('Pulse <Intro para volver al menu>')
input()
break
else:
print ()
print ('Alumno no encontrado')
print ()
print('Pulse <Intro para volver al menu>')
input()
break
except ValueError:
pass
def menu():
while True:
clear()
try:
print('Menu Principal')
print('------------')
print()
print('1. Agregar Alumno')
print('2. Lista de Alumnos')
print('3. Consultar Alumno x nro.')
print('4. Consultar Alumno x Apellido.')
print('5. Consultar Grupo')
print('6. Salir')
print()
opcion = int(input('Ingrese opcion: '))
if opcion == 6:
break
elif opcion == 1:
agregar()
elif opcion == 2:
lista()
elif opcion == 3:
consultar()
elif opcion == 4:
consulta_ape()
elif opcion==5:
buscar_grupo()
except ValueError:
pass
if __name__ == "__main__":
nom_archivo = 'estudiantes.txt'
menu()