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 conseguir_ruta_el_mejor(self, ciudad_inicial): #Condiciones inciales lista_soluciones = [] visitados = [] visitados_aux = [] cola = Cola() costo_de_referencia = 1000000 #cambiar de string a nodos ciudad_actual = self.cadena_nodo(ciudad_inicial) ######### Busqueda el mejor ######### # Primera iteracion ciudad_actual.establecer_ruta_nodo(ciudad_actual.conseguir_ruta_nodo(),ciudad_actual.conseguir_nombre_ciudad()) visitados_aux.append(ciudad_actual.conseguir_nombre_ciudad()) visitados = visitados + self.marcar_visita(ciudad_actual, visitados_aux) if (self.es_solucion(ciudad_actual) == False): #Si no es solucion hijos = ciudad_actual.conseguir_hijos() for hijo in hijos: nombre_hijo = hijo[0] if nombre_hijo not in visitados: # Establecemos la ciudad hija como nodo nodo_hijo = copy.deepcopy(self.cadena_nodo(nombre_hijo)) # Establecemos un costo y una ruta nodo_hijo.establecer_ruta_nodo(ciudad_actual.conseguir_ruta_nodo(), nodo_hijo.conseguir_nombre_ciudad()) nodo_hijo.establecer_costo(hijo[1]) # Ingresamos la ciudad hija en la cola if nodo_hijo.conseguir_costo() < costo_de_referencia: cola.push(nodo_hijo) else: costo_de_referencia = ciudad_actual.conseguir_costo() lista_soluciones.append(copy.deepcopy(ciudad_actual)) #return ciudad_actual.conseguir_ruta_nodo() ciudad_actual = cola.pop() # Iteraciones while (cola.esVacio() == False): # Mientras la cola tenga ciudades por visitar if (self.es_solucion(ciudad_actual) == False): #Si no es solucion hijos = ciudad_actual.conseguir_hijos() for hijo in hijos: nombre_hijo = hijo[0] if nombre_hijo not in visitados: # Establecemos la ciudad hija como nodo nodo_hijo = copy.deepcopy(self.cadena_nodo(nombre_hijo)) # Establecemos un costo y una ruta nodo_hijo.establecer_ruta_nodo(ciudad_actual.conseguir_ruta_nodo(), nodo_hijo.conseguir_nombre_ciudad()) nodo_hijo.establecer_costo(hijo[1]+ciudad_actual.conseguir_costo()) # Ingresamos la ciudad hija en la cola if nodo_hijo.conseguir_costo() < costo_de_referencia: cola.push(nodo_hijo) else: costo_de_referencia = ciudad_actual.conseguir_costo() lista_soluciones.append(copy.deepcopy(ciudad_actual)) #return ciudad_actual.conseguir_ruta_nodo() visitados_aux.append(ciudad_actual.conseguir_nombre_ciudad()) visitados = visitados + self.marcar_visita(ciudad_actual, visitados_aux) ciudad_actual = cola.pop() ciudad_solucion = self.conseguir_mejor_solucion(lista_soluciones) return ciudad_solucion.conseguir_ruta_nodo()
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
def getOtras(self): return self.otras #menu hospital = Gestion() ##datos prueba hospital.espera(Persona(1, 'persona1', 'cardiologia')) hospital.espera(Persona(2, 'persona2', 'fisioterapia')) hospital.espera(Persona(3, 'persona3', 'cardiologia')) hospital.espera(Persona(4, 'persona4', 'medicina general')) hospital.espera(Persona(5, 'persona5', 'neumologia')) hospital.espera(Persona(6, 'persona6', 'medicina general')) a = True auxCola = Cola() while a: print("Elija una opcion") print("1 nuevo paciente") print("2 atender") print("3 pacientes en espera") print("4 pacientes atendidos") print("5 historial") print("6 salir") opcion = input("Selecciones una opcion:") if (opcion == 1): hospital.espera( Persona(raw_input("Ingrese el documento: "), raw_input("Ingrese el nombre: "), raw_input("Ingrese la especialidad: ")))
op = window.getch() if op is 10: break elif op is not -1: string += str(chr(op)) op = -1 return string if __name__ == '__main__': #--------------------- ld = ListaDoble() #--------------------- lcd = ListaCircularDoble() #--------------------- cola = Cola() #--------------------- pila = Pila() #--------------------- usuario = "" curses.initscr() curses.beep() curses.beep() window = curses.newwin(ALTO, ANCHO, 0, 0) window.timeout(TIMEOUT) window.keypad(1) curses.noecho() curses.curs_set(0)
def encolar(): numero = str(request.form['dato']) Nodo = Cola.NodoCola(numero) ColaPython.insertarCola(Nodo) return "Elemento: " + str(numero) + " Insertado a la Cola"
from flask import Flask, request from Estructuras import Cola from Estructuras import Pila from Estructuras import Lista from Estructuras import Matriz import os app = Flask("Practica2") ColaPython = Cola.Cola() pilaDePrueba = Pila.Pila() ListaPython = Lista.Lista() MatrizP = Matriz.Matriz() @app.route('/Conectar') def conectar(): return 'Conexión Exitosa!' # INICIO DE LOS METODOS DE COLA @app.route('/Encolar', methods=['POST']) def encolar(): numero = str(request.form['dato']) Nodo = Cola.NodoCola(numero) ColaPython.insertarCola(Nodo) return "Elemento: " + str(numero) + " Insertado a la Cola" @app.route('/VerCola') def verCola():
from flask import Flask, request from Estructuras import Cola from Estructuras import ListaSimple from Estructuras import Pila from Estructuras import Matriz app=Flask("Practica_2") Col=Cola.Cola() Pil=Pila.Pila() Lis=ListaSimple.Lista() Mat=Matriz.Matriz() @app.route('/Conectar') def conectar(): return "Si conecto" @app.route("/AgregarCola", methods=['POST']) def agregarcol(): num=str(request.form['dato']) Col.agregar(num) return "Dato Ingresado: " + str(num) @app.route('/listarCola') def listarcol(): mostrar=Col.listar() return str(mostrar) @app.route('/eliminarcol') def elimcol(): mostrar=Col.eliminar()