Untitled

 avatar
unknown
plain_text
9 months ago
3.8 kB
0
Indexable
import random
import datetime

# Sample data
airlines = ["Airways", "FlyHigh", "SkyTravel", "JetStream"]
cities = ["New York", "Los Angeles", "Chicago", "Houston", "Miami", "Atlanta", "Dallas", "San Francisco"]
seat_classes = ["Economy", "Business", "First Class"]

# Generate a random flight number
def generate_flight_number():
    return f"{random.choice(['AA', 'DL', 'UA', 'SW'])}{random.randint(1000, 9999)}"

# Function to get user details
def get_user_details():
    print("Enter your details:")
    first_name = input("First Name: ")
    last_name = input("Last Name: ")
    email = input("Email: ")
    phone_number = input("Phone Number: ")
    billing_address = input("Billing Address: ")
    return first_name, last_name, email, phone_number, billing_address

# Function to choose flight details
def choose_flight():
    print("\nChoose your flight details:")
    print("Available airlines:")
    for idx, airline in enumerate(airlines, 1):
        print(f"{idx}. {airline}")
    airline_choice = int(input("Select airline (number): ")) - 1
    
    print("\nAvailable departure cities:")
    for idx, city in enumerate(cities, 1):
        print(f"{idx}. {city}")
    departure_choice = int(input("Select departure city (number): ")) - 1

    print("\nAvailable destination cities:")
    for idx, city in enumerate(cities, 1):
        print(f"{idx}. {city}")
    destination_choice = int(input("Select destination city (number): ")) - 1
    
    print("\nAvailable seat classes:")
    for idx, seat_class in enumerate(seat_classes, 1):
        print(f"{idx}. {seat_class}")
    seat_class_choice = int(input("Select seat class (number): ")) - 1

    departure_date = input("Enter departure date (YYYY-MM-DD): ")
    return airlines[airline_choice], cities[departure_choice], cities[destination_choice], seat_classes[seat_class_choice], departure_date

# Function to process payment
def process_payment():
    print("\nEnter your payment details:")
    card_number = input("Credit Card Number: ")
    expiry_date = input("Expiry Date (MM/YY): ")
    cvv = input("CVV: ")
    return card_number, expiry_date, cvv

# Function to generate booking details
def generate_booking(first_name, last_name, email, phone_number, billing_address, airline, departure_city, destination_city, seat_class, departure_date, card_number):
    booking_number = f"{random.randint(100000, 999999)}"
    flight_number = generate_flight_number()
    booking_details = {
        "Booking Number": booking_number,
        "First Name": first_name,
        "Last Name": last_name,
        "Email": email,
        "Phone Number": phone_number,
        "Billing Address": billing_address,
        "Airline": airline,
        "Flight Number": flight_number,
        "Departure City": departure_city,
        "Destination City": destination_city,
        "Seat Class": seat_class,
        "Departure Date": departure_date,
        "Card Number": card_number[-4:],  # Show only last 4 digits
    }
    return booking_details

# Function to display booking details
def display_booking_details(booking_details):
    print("\nBooking Confirmed!")
    print("Booking Details:")
    for key, value in booking_details.items():
        print(f"{key}: {value}")

def main():
    first_name, last_name, email, phone_number, billing_address = get_user_details()
    airline, departure_city, destination_city, seat_class, departure_date = choose_flight()
    card_number, expiry_date, cvv = process_payment()
    booking_details = generate_booking(first_name, last_name, email, phone_number, billing_address, airline, departure_city, destination_city, seat_class, departure_date, card_number)
    display_booking_details(booking_details)

if __name__ == "__main__":
    main()

Editor is loading...
Leave a Comment