Supongo que el problema se indica en la primera respuesta. En segundo lugar, no sé exactamente qué se esperaba (clases, resultados) aquí. En tercer lugar, casi no he hecho pitón en toda mi carrera, así que espero no tener ningún error de estilo / práctica atroz (me encantaría saber si lo hago).
El siguiente código tiene definiciones de clase simples para un Hospital y un Estudiante. Se crean dos hospitales. Nueve estudiantes también son creados y codificados con nombres, hospital actual y hospital preferido. El algoritmo basado en su pseudocódigo se ejecuta solo para el primer hospital.
Hospital de clase:
def __init __ (self, nombre: str, posiciones: int):
self.name = name
self.positions = posiciones
self.preferenceList = []
- En Python, ¿cómo reemplazo una cadena en el texto sin reemplazar las subcadenas?
- Cómo resolver el problema de cambio de UVa 166 si tenemos una oferta limitada de cada denominación
- ¿Cuál es el elemento más pequeño / más grande en el código Java?
- ¿Explicar diferentes algoritmos de ruta más corta, sus restricciones, complejidades?
- ¿Cuáles son las aplicaciones prácticas de los diversos algoritmos que estudian los estudiantes de CS en Data Structures?
def hasPositions (self) -> bool:
volver self.positions> 0
estudiante de clase:
def __init __ (self, nombre: str, currentHospital: Hospital, preferidoHospital: Hospital):
self.name = name
self.currentHospital = currentHospital
self.preferredHospital = preferredHospital
def prefiere (self, newHospital: Hospital) -> bool:
si self.currentHospital == self.preferredHospital o self.preferredHospital == Ninguno:
volver verdadero;
más:
return newHospital! = self.preferredHospital
def isFree (self) -> bool:
return self.currentHospital es None
asilo = Hospital (“Asilo”, 10)
Bradford = Hospital (“Bradford”, 10)
asylum.preferenceList.append (Estudiante (“Albert”, Ninguno, Ninguno))
asylum.preferenceList.append (Estudiante (“Bill”, Ninguno, asilo))
asylum.preferenceList.append (Estudiante (“Callie”, Ninguno, Bradford))
asylum.preferenceList.append (Estudiante (“Doug”, asilo, Ninguno))
asylum.preferenceList.append (Estudiante (“Ebony”, asylum, asylum))
asylum.preferenceList.append (Estudiante (“Fred”, asylum, bradford))
asylum.preferenceList.append (Estudiante (“Georgiana”, bradford, Ninguno))
asylum.preferenceList.append (Estudiante (“Hal”, bradford, asylum))
asylum.preferenceList.append (Estudiante (“Ichabod”, bradford, bradford))
while asylum.hasPositions ():
if len (asylum.preferenceList) == 0:
rotura
prefStudent = asylum.preferenceList.pop (0)
if prefStudent.isFree ():
prefStudent.currentHospital = asilo
asylum.positions – = 1
print (“Estudiante gratis” + prefStudent.name + “comprometido con” + asylum.name + “hospital”)
más:
if prefStudent.prefers (asilo):
print (“Estudiante” + prefStudent.name + “permaneció comprometido con” + prefStudent.currentHospital.name + “hospital”)
más:
prefStudent.currentHospital.positions – = 1
asylum.positions + = 1
print (“Estudiante” + prefStudent.name + “cambió de” + prefStudent.currentHospital.name + “a” + asylum.name + “hospital”))
prefStudent.currentHospital = asilo