ejercicio hotel

Te ayudo a crear un sistema sencillo para gestionar las habitaciones del hotel. Aquí tienes una solución clara y fácil de entender:

python
class Hotel:
    def __init__(self):
        # Inicializamos las habitaciones disponibles
        self.habitaciones_individuales = 3
        self.habitaciones_dobles = 2
        
    def mostrar_disponibilidad(self):
        """Muestra las habitaciones disponibles"""
        print(f"Habitaciones individuales disponibles: {self.habitaciones_individuales}")
        print(f"Habitaciones dobles disponibles: {self.habitaciones_dobles}")
        print("-" * 40)
        
    def reservar(self, tipo_habitacion):
        """Reserva una habitación del tipo especificado"""
        if tipo_habitacion == "individual":
            if self.habitaciones_individuales > 0:
                self.habitaciones_individuales -= 1
                print("✅ Habitación individual reservada exitosamente")
            else:
                print("❌ No hay habitaciones individuales disponibles")
                
        elif tipo_habitacion == "doble":
            if self.habitaciones_dobles > 0:
                self.habitaciones_dobles -= 1
                print("✅ Habitación doble reservada exitosamente")
            else:
                print("❌ No hay habitaciones dobles disponibles")
        else:
            print("❌ Tipo de habitación no válido")
            
    def liberar(self, tipo_habitacion):
        """Libera una habitación del tipo especificado"""
        if tipo_habitacion == "individual":
            if self.habitaciones_individuales < 3:  # No podemos tener más de 3
                self.habitaciones_individuales += 1
                print("✅ Habitación individual liberada exitosamente")
            else:
                print("❌ Ya están todas las habitaciones individuales disponibles")
                
        elif tipo_habitacion == "doble":
            if self.habitaciones_dobles < 2:  # No podemos tener más de 2
                self.habitaciones_dobles += 1
                print("✅ Habitación doble liberada exitosamente")
            else:
                print("❌ Ya están todas las habitaciones dobles disponibles")
        else:
            print("❌ Tipo de habitación no válido")

# Programa principal
def main():
    hotel = Hotel()
    
    while True:
        print("\n🏨 SISTEMA DE GESTIÓN DEL HOTEL")
        print("1. Mostrar disponibilidad")
        print("2. Reservar habitación")
        print("3. Liberar habitación")
        print("4. Salir")
        
        opcion = input("Selecciona una opción (1-4): ")
        
        if opcion == "1":
            hotel.mostrar_disponibilidad()
            
        elif opcion == "2":
            print("\n¿Qué tipo de habitación quieres reservar?")
            print("1. Individual")
            print("2. Doble")
            tipo = input("Selecciona (1-2): ")
            
            if tipo == "1":
                hotel.reservar("individual")
            elif tipo == "2":
                hotel.reservar("doble")
            else:
                print("❌ Opción no válida")
                
        elif opcion == "3":
            print("\n¿Qué tipo de habitación quieres liberar?")
            print("1. Individual")
            print("2. Doble")
            tipo = input("Selecciona (1-2): ")
            
            if tipo == "1":
                hotel.liberar("individual")
            elif tipo == "2":
                hotel.liberar("doble")
            else:
                print("❌ Opción no válida")
                
        elif opcion == "4":
            print("¡Hasta luego! 👋")
            break
            
        else:
            print("❌ Opción no válida")

# Ejecutar el programa
if __name__ == "__main__":
    main()

Explicación sencilla:

  1. Clase Hotel: Es el "cerebro" del programa que guarda cuántas habitaciones hay disponibles.

  2. Métodos principales:

    • mostrar_disponibilidad(): Te dice cuántas habitaciones hay libres

    • reservar(): Quita una habitación de las disponibles

    • liberar(): Devuelve una habitación a las disponibles

  3. Programa principal: Un menú interactivo que te permite elegir qué quieres hacer.

Cómo usar el programa:

  1. Ejecuta el código

  2. Verás un menú con opciones del 1 al 4

  3. Selecciona:

    • 1 para ver cuántas habitaciones hay disponibles

    • 2 para reservar una habitación

    • 3 para liberar una habitación

    • 4 para salir

Ejemplo de uso:

text
🏨 SISTEMA DE GESTIÓN DEL HOTEL
1. Mostrar disponibilidad
2. Reservar habitación
3. Liberar habitación
4. Salir

Selecciona una opción (1-4): 1
Habitaciones individuales disponibles: 3
Habitaciones dobles disponibles: 2
----------------------------------------

¡Espero que te sea útil!

Comentarios

Entradas populares de este blog

¿Qué es un Closure?

4 tipos de colecciones de datos más

Calculadora de edad