예제 #1
0
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"
         )
예제 #4
0
 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
예제 #8
0
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)
예제 #11
0

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)