domingo, 5 de noviembre de 2023

Venta Pasajes

 

Crea un algoritmo en Python que permita controlar la venta de pasajes a los clientes según la categoría y el destino.

# Definir una lista de destinos disponibles

destinos = ["Nueva York", "Los Ángeles", "Chicago", "Miami"]


# Definir un diccionario de categorías y precios

categorias = {

    "Económico": 200,

    "Premium": 400,

    "VIP": 800

}


# Crear un diccionario para almacenar la disponibilidad de pasajes por destino y categoría

disponibilidad_pasajes = {}


for destino in destinos:

    disponibilidad_pasajes[destino] = {

        "Económico": 100,

        "Premium": 50,

        "VIP": 10

    }


# Función para comprar un pasaje

def comprar_pasaje():

    print("Destinos disponibles:")

    for i, destino in enumerate(destinos, 1):

        print(f"{i}. {destino}")


    destino_elegido = int(input("Elija un destino (1-4): ")) - 1

    categoria_elegida = input("Elija una categoría (Económico/Premium/VIP): ").capitalize()

    cantidad_pasajes = int(input("Cantidad de pasajes que desea comprar: "))


    if destino_elegido < 0 or destino_elegido >= len(destinos) or categoria_elegida not in categorias:

        print("Destino o categoría no válidos.")

        return


    if disponibilidad_pasajes[destinos[destino_elegido]][categoria_elegida] >= cantidad_pasajes:

        costo_total = categorias[categoria_elegida] * cantidad_pasajes

        disponibilidad_pasajes[destinos[destino_elegido]][categoria_elegida] -= cantidad_pasajes

        print(f"Compra exitosa. Costo total: ${costo_total}")

    else:

        print("Lo siento, no hay suficientes pasajes disponibles en esa categoría.")


# Ejecutar el programa

while True:

    print("\nBienvenido a la venta de pasajes")

    opcion = input("¿Qué desea hacer? (comprar/salir): ").lower()


    if opcion == "comprar":

        comprar_pasaje()

    elif opcion == "salir":

        break

    else:

        print("Opción no válida. Intente nuevamente.")


https://chat.openai.com/share/480f7354-67e1-4ba1-963d-0ccaa719112d

0 comentarios:

Publicar un comentario