class Localidad: def __init__(self, corta, larga): self.set_corta(corta) self.set_larga(larga) self.__conexiones = Coleccion() def corta(self): return self.__corta def set_corta(self, corta): self.__corta = corta def larga(self): return self.__larga def set_larga(self, larga): self.__larga = larga def conexiones(self): return self.__conexiones def set_conexiones(self, conexiones): for direccion, destino in conexiones.items(): con = Conexion(direccion, destino) self.__conexiones.set_elemento(direccion, con)
class Contenedor(Item): def __init__(self, corta, larga, nombre): super().__init__(corta, larga, nombre) self.__contenido = Coleccion() def meter_item(self, item): self.__contenido.set_elemento(item.nombre(), item) def sacar_item(self, nombre): self.__contenido.del_elemento(nombre)
def localidad(k): """ Devuelve la localidad cuya clave es k en la colección de localidades. Lanza una excepción KeyError si la localidad con clave k no existe. """ return Coleccion.elemento(_localidades, k)
from localidad import Localidad from coleccion import Coleccion VESTIBULO = 0 MITAD_PASILLO = 1 COCINA = 2 BIBLIOTECA = 3 _localidades = Coleccion() datos_localidad = { VESTIBULO: Localidad.localidad( 'VESTÍBULO', 'Estás en el vestíbulo del castillo.' ), MITAD_PASILLO: Localidad.localidad( 'Estás en mitad del pasillo.', 'MITAD PASILLO' ), COCINA: Localidad.localidad( 'Estás en la cocina.', 'COCINA' ), BIBLIOTECA: Localidad.localidad( 'Estás en la biblioteca.', 'BIBLIOTECA' ) } for clave, loc in datos_localidad.items(): Coleccion.insertar(_localidades, clave, loc)
def __init__(self, corta, larga): self.set_corta(corta) self.set_larga(larga) self.__conexiones = Coleccion()
pos = int( input("Ingrese la posicion en la que se va a insertar: ")) try: coleccion.insertarElemento(numero, pos) except ErrorPosicion as e: print( "El numero {} no pudo ser insertado debido al siguiente error:" .format(e.getElemento())) print(e.getMensaje()) elif op == 2: numero = int(input("Ingrese un numero a agregar al final: ")) coleccion.agregarElemento(numero) elif op == 3: pos = int(input("Ingrese la posicion del numero a mostrar: ")) try: print(coleccion.mostrarElemento(pos)) except ErrorPosicion as e: print( "El numero {} no pudo ser mostrado debido al siguiente error:" .format(e.getElemento())) print(e.getMensaje()) elif op == 0: flag = True else: print("Opcion no valida") if __name__ == "__main__": c = Coleccion() Interface(IColeccion(c))
def __init__(self, corta, larga, nombre): super().__init__(corta, larga, nombre) self.__contenido = Coleccion()