def opcion2(): #Alumno.cantMaxIna = int(input('Ingrese la nueva cantidad de insasistencias permitidas: ')) #otra opción: #print(Alumno.cantMaxIna) Alumno.cambiarCantMaxIna( int(input('Ingrese la nueva cantidad de insasistencias permitidas :')))
def listarAlumnos(self, año, division): listaAux = [] alumno = Alumno() for alumno in self.__lista: if alumno.getInasistencias() > Alumno.getCantMaximaIn(): if alumno.getAño() == año: if alumno.getDivision() == division: listaAux.append(alumno) if len (listaAux) == 0: print (f'No hay alumnos que superen la cantidad máxima de inasistencias en el año: {año}. Division: {division}.') else: print ('Alumno Porcentaje') for alumno in listaAux: print (f'{alumno.getNombre()}\t\t{alumno.getPorcentaje(alumno)}%')
def opcion2(self, Alumnos): print("MODIFICAR CANTIDAD DE INASISTENCIAS") i = input("Ingrese el nuevo valor") unAlumno = Alumno() t = unAlumno.getCantTot() if (int(i) < int(t)): Alumno.cantMax = i print("Se modifico la cantidad maxima de inasistencias ") c = unAlumno.getCantMax() print(c) else: print( "No se puede modificar la cantidad maximas de inasistencias, ya que la cantidad ingresada es mayor que la cantida TOTAl de asistencias" )
def __init__(self): self.__Alumnos = [] archivo = open('./integrador/ALUMNOS.csv') reader = csv.reader(archivo, delimiter=';') bandera = False for fila in reader: if (bandera): self.__Alumnos.append( Alumno(fila[0], int(fila[1]), fila[2], fila[3], fila[4])) else: bandera = True archivo.close()
def leerArchivo (self): os.system ('cls') archivo = open('ListaAlumnos.csv') reader = csv.reader (archivo, delimiter= ',') bandera = True for fila in reader: if bandera: ''' Saltear bandera''' bandera = False else: nombre = fila[0] año = int(fila[1]) division = int(fila[2]) cantInasis = int(fila [3]) unAlumno = Alumno(nombre, año, division, cantInasis) self.agregaAlumno(unAlumno) archivo.close()
def cargarAlumno(self, nom, an, div, cantI): #Valido tipo de datos if type(nom) == str and type(an) == str and type(div) == str and type( cantI) == int: #Compruebo que el nombre solo tenga letras if re.search('[\d]', nom) == None: #Compruebo que el año y la division correspondan a los que tiene la escuela if an.lower() in self.__anios and div.lower( ) in self.__divisiones: newAlumno = Alumno(nom, an, div, cantI) self.__lista.append(newAlumno) else: print('Error: El año o la division ingresada no existen.') else: print('Error: El nombre no puede contener numeros') else: print( 'Error: El alumno no puede crearse, tipo de datos incorrecto.')
def buscarAlumnos(self, anio, div): listaAlumnos = [] inMax = Alumno.getInasMax() for alumno in self.__lista: if alumno.getAnio() == anio.lower() and alumno.getDivision( ) == div.lower(): cantIn = alumno.getCantIn() if cantIn > inMax: nombre = alumno.getNom() '''Resto el 100% para determinar el porcentaje por encima de las permitidas que tiene el alumno ya que todos daran > 100% porque que superan la cantidad de inasistencias maximas permitidas''' porc = round((cantIn / inMax) * 100.0 - 100, 2) listaAlumnos.append([[nombre, porc]]) if len(listaAlumnos) == 0: print('No se encontraron coincidencias.') return None else: return listaAlumnos
def test(): unManejador = ManejadorAlumno() alumno1 = Alumno() alumno2 = Alumno('Leo') alumno3 = Alumno('Leo', 6) alumno4 = Alumno('Leo', 6, 4) alumno5 = Alumno('Leo', 6, 4, 10) alumno6 = Alumno('Leo', 6, 4, 'diez') alumno7 = Alumno('Leo', 'sexto', 4, 10) unManejador.agregaAlumno(alumno1) unManejador.agregaAlumno(alumno2) unManejador.agregaAlumno(alumno3) unManejador.agregaAlumno(alumno4) unManejador.agregaAlumno(alumno5) unManejador.agregaAlumno(alumno6) unManejador.agregaAlumno(alumno7) os.system('cls') print('Lista de Alumnos test: ') print(unManejador) input('Presiona ENTER para continuar...')
def __str__(self): s='' alumno=Alumno() for alumno in self.__lista: s += alumno.__str__() + '\n\n' return s
def agregaAlumno(self, unAlumno): aux = Alumno() if type(aux) == type (unAlumno): self.__lista.append(unAlumno)
def switch(argument): func = switcher.get(argument, lambda: print("Opción incorrecta")) func() if __name__ == '__main__': #alumno = Alumno('Manuel Rossi', 6, 'A', 10) listaAlumnos = [] archivo = (open('alumnos.csv')) r = csv.reader(archivo, delimiter=';') for fila in r: listaAlumnos.append( Alumno(fila[0], int(fila[1]), fila[2], int(fila[3]))) archivo.close() for i in range(len(listaAlumnos)): print(listaAlumnos[i]) bandera = False # pongo la bandera en falso para forzar a que entre al bucle la primera vez while not bandera: print("") print("------MENU-------") print("a. Opción 1") print("b. Opción 2") print("c. Salir") opcion = input("Ingrese una opción: ") switch(opcion)