Desarrollar un programa en Python que simule la gestión básica de una reserva de hotel simplificada, aplicando los contenidos trabajados previamente en PSeInt y llevándolos a código real. El programa considerará dos etapas: inicialización de la información de operación y funcionamiento del sistema de reservas del hotel.
Pasajero 1
Nombre + RUT registrados al inicio
Pasajero 2
Nombre + RUT registrados al inicio
Habitación única
Solo puede tener un dueño de reserva a la vez
Para cada uno de los 2 pasajeros, registrar:
- Nombre del pasajero (texto)
- RUT del pasajero (texto)
Solo existen dos pasajeros en el sistema — no más, no menos.
Registrar la información inicial de la habitación:
- Número o identificador de la habitación
- Estado inicial: libre (sin reserva)
Al finalizar el registro, se debe seleccionar cuál pasajero comenzará operando el menú.
Regla Principal del Sistema
Cualquiera de los dos pasajeros puede reservarla.
Queda asociada al pasajero que la reservó. El otro no puede tomarla hasta que sea liberada.
Opciones del menú
Ver Estado de la Habitación
- Número o nombre de la habitación.
- Si está libre o reservada.
- Si está reservada, indicar qué pasajero la tiene.
- Qué pasajero está operando el menú actualmente.
Reservar Habitación
- Si está libre: la reserva se realiza correctamente.
- Si ya la tiene el mismo pasajero: informar que ya la tiene reservada.
- Si la tiene el otro pasajero: no se puede reservar, mensaje claro.
Liberar Habitación
- Si está libre: informar que no hay reserva activa.
- Si la tiene el pasajero actual: se libera correctamente.
- Si la tiene el otro pasajero: no se permite liberarla.
Cambiar Pasajero que Opera
- Si opera el Pasajero 1, cambia al Pasajero 2.
- Si opera el Pasajero 2, cambia al Pasajero 1.
- El cambio debe verse reflejado claramente en pantalla.
Salir
- El usuario puede cerrar el sistema desde el menú.
- Se recomienda pedir confirmación antes de salir.
- Solo un pasajero puede tener la habitación reservada a la vez.
- No reservar una habitación ya ocupada por otro.
- No liberar una habitación que pertenece a otro pasajero.
- Validar que la opción del menú sea válida.
- Mensajes claros y comprensibles en todo momento.
Deben usar
No deben usar
Como no pueden usar listas ni diccionarios, deben manejar la información con variables individuales: datos del pasajero 1, datos del pasajero 2, estado de la habitación, pasajero que opera el menú, y pasajero que tiene la reserva (si existe).
- Archivo
.pycon la solución completa. - Código que se ejecute sin errores desde consola.
- Cumplimiento del enunciado y respeto por las restricciones dadas.
| Criterio | Relevancia |
|---|---|
| Correcta inicialización de los 2 pasajeros | Medio |
| Manejo correcto de una sola habitación con sus estados | Alto |
| Validación de reserva exclusiva (un solo dueño) | Alto |
| Cambio correcto del pasajero que opera el menú | Medio |
| Claridad y orden de los mensajes al usuario | Medio |
| Uso correcto de estructuras básicas | Alto |
| Respeto por la restricción de no usar funciones ni colecciones | Alto |