Ejemplo n.º 1
0
class Gestion(object):
    def __init__(self):
        self.pacientes = Cola()
        self.pacientesAtendidos = Pila()
        self.historialPacientes = Pila()
        self.cardiologia = Cola()
        self.neumologia = Cola()
        self.fisioterapia = Cola()
        self.otras = Cola()

    def espera(self, paciente):
        self.pacientes.encolar(paciente)
        self.historialPacientes.apilar(paciente)
        self.asignarEspecialidades()

    def asignarEspecialidades(self):
        while not self.pacientes.es_vacia():
            if (self.pacientes.ver_cola().getEspecialidad() == 'cardiologia'):
                self.cardiologia.encolar(self.pacientes.desencolar())
            elif (self.pacientes.ver_cola().getEspecialidad() == 'neumologia'):
                self.neumologia.encolar(self.pacientes.desencolar())
            elif (self.pacientes.ver_cola().getEspecialidad() == 'fisioterapia'
                  ):
                self.fisioterapia.encolar(self.pacientes.desencolar())
            else:
                self.otras.encolar(self.pacientes.desencolar())

    def atender(self, nEspecialidad):
        if (nEspecialidad == 1):
            if not self.cardiologia.es_vacia():
                self.pacientesAtendidos.apilar(self.cardiologia.ver_cola())
                return self.cardiologia.desencolar()
        elif (nEspecialidad == 2):
            if not self.neumologia.es_vacia():
                self.pacientesAtendidos.apilar(self.neumologia.ver_cola())
                return self.neumologia.desencolar()
        elif (nEspecialidad == 3):
            if not self.neumologia.es_vacia():
                self.pacientesAtendidos.apilar(self.fisioterapia.ver_cola())
                return self.fisioterapia.desencolar()
        else:
            if not self.otras.es_vacia():
                self.pacientesAtendidos.apilar(self.otras.ver_cola())
                return self.otras.desencolar()
        return ""

    def getHistorial(self):
        return self.historialPacientes

    def getAtendidos(self):
        return self.pacientesAtendidos

    def getCardiologia(self):
        return self.cardiologia

    def getNeumologia(self):
        return self.neumologia

    def getFisioterapia(self):
        return self.fisioterapia

    def getOtras(self):
        return self.otras
Ejemplo n.º 2
0
        print("     pacientes cardiologia")
        auxCola = hospital.getCardiologia()
        while not auxCola.es_vacia:
            print(auxCola.desencolar().getPersona())
        print("     pacientes neumologia")
        auxCola = hospital.getNeumologia()
        while not auxCola.es_vacia:
            print(auxCola.desencolar().getPersona())
        print("     pacientes fisioterapia")
        auxCola = hospital.getFisioterapia()
        while not auxCola.es_vacia:
            print(auxCola.desencolar().getPersona())
        print("     pacientes otras")
        auxCola = hospital.getOtras()
        while not auxCola.es_vacia:
            print(auxCola.desencolar().getPersona())
        print("fin")
    elif opcion == 4:
        print("         Pacientes atendidos:       ")
        auxCola = hospital.getAtendidos()
        while not auxCola.es_vacia():
            print("             " + auxCola.desapilar().getPersona())

    elif (opcion == 5):
        auxCola = hospital.getHistorial()
        print("         Historial:       ")
        while not auxCola.es_vacia():
            print("             " + auxCola.desapilar().getPersona())
    else:
        a = False