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
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