Solución

@abrahamjlr·20/4/2026TypeScript
solution.tsTypeScript
STANDAR_PRICE: int = 80
DELUXE_PRICE: int = 150
SUITE_PRICE: int = 250
WEEKEND_SURCHARGE: float = 1.2

SILVER_DISCOUNT: float = 0.05
GOLD_DISCOUNT: float = 0.10
PLATINUM_DISCOUNT: float = 0.15


def get_base_price(room_type: str) -> int:
    if room_type == "standard":
        return STANDAR_PRICE
    elif room_type == "deluxe":
        return DELUXE_PRICE
    elif room_type == "suite":
        return SUITE_PRICE
    return 0


def calculate_hotel_stay_cost(nights: int, room_type: str, is_weekend: bool, loyalty_level: str) -> float:
    if nights < 1: 
        return -1

    base_nightly: int = get_base_price(room_type)

    if is_weekend:
        base_nightly *= WEEKEND_SURCHARGE

    total: float = nights * base_nightly

    if loyalty_level == "silver":
        total *= (1 - SILVER_DISCOUNT)
    elif loyalty_level == "gold":
        total *= (1 - GOLD_DISCOUNT)
    elif loyalty_level == "platinum":
        total *= (1 - PLATINUM_DISCOUNT)


    return total

exports = calculate_hotel_stay_cost
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.