Ejercicio 14.7.1. Modificar el método __cmp__
de Hotel
para
poder ordenar de menor a mayor las listas de hoteles según el
criterio: primero por ubicación, en orden alfabético y dentro de cada
ubicación por la relación calidad-precio.
Ejercicio 14.7.2. Escribir una clase Caja
para representar cuánto
dinero hay en una caja de un negocio, desglosado por tipo de billete
(por ejemplo, en el quiosco de la esquina hay 5 billetes de 10 pesos,
7 monedas de 25 centavos y 4 monedas de 10 centavos).
Se tiene que poder comparar cajas por la cantidad de dinero que hay en cada una, y además ordenar una lista de cajas de menor a mayor según la cantidad de dinero disponible.
Ejercicio 14.7.3. Fracciones
- Crear una clase
Fraccion
, que cuente con dos atributos:dividendo
ydivisor
, que se asignan en el constructor, y se imprimen comoX/Y
en el método__str__
. - Crear un método
sumar
que recibe otra fracción y devuelve una nueva fracción con la suma de ambas. - Crear un método
multiplicar
que recibe otra fracción y devuelve una nueva fracción con el producto de ambas. - Crear un método
simplificar
que modifica la fracción actual de forma que los valores deldividendo
ydivisor
sean los menores posibles.
Ejercicio 14.7.4. Vectores
- Crear una clase
Vector
, que en su constructor reciba una lista de elementos que serán sus coordenadas. En el método__str__
se imprime su contenido con el formato[x,y,z]
- Crear un método escalar que reciba un número y devuelva un nuevo vector, con los elementos multiplicados por ese número.
- Crear un método sumar que recibe otro vector, verifica si tienen la misma cantidad de elementos y devuelve un nuevo vector con la suma de ambos. Si no tienen la misma cantidad de elementos debe levantar una excepción.
Ejercicio 14.7.5. Botella y Sacacorchos
- Escribir una clase
Corcho
, que contenga un atributobodega
(cadena con el nombre de la bodega). - Escribir una clase
Botella
que contenga un atributocorcho
con una referencia al corcho que la tapa, oNone
si está destapada. - Escribir una clase
Sacacorchos
que tenga un métododestapar
que le reciba una botella, le saque el corcho y se guarde una referencia al corcho sacado. Debe lanzar una excepción en el caso en que la botella ya esté destapada, o si el sacacorchos ya contiene un corcho. - Agregar un método
limpiar
, que saque el corcho del sacacorchos, o lance una excepción en el caso en el que no haya un corcho.
Ejercicio 14.7.6. Modelar una clase Mate
que describa el
funcionamiento de la conocida bebida tradicional argentina. La clase debe
contener como miembros:
- Un atributo para la cantidad de cebadas restantes hasta que se lava el mate (representada por un número).
- Un atributo para el estado (lleno o vacío).
- El constructor debe recibir como parámetro
n
, la cantidad máxima de cebadas en base a la cantidad de yerba vertida en el recipiente. - Un método
cebar
, que llena el mate con agua. Si se intenta cebar con el mate lleno, se debe lanzar una excepción que imprima el mensaje ¡Cuidado! ¡Te quemaste! - Un método
beber
, que vacía el mate y le resta una cebada disponible. Si se intenta beber un mate vacío, se debe lanzar una excepción que imprima el mensaje. El mate está vacío! - Es posible seguir cebando y bebiendo el mate aunque no haya cebadas
disponibes. En ese caso la cantidad de cebadas restantes se
mantendrá en
0
, y cada vez que se intente beber se debe imprimir un mensaje de aviso: Advertencia: el mate está lavado., pero no se debe lanzar una excepción.