Train Reservation System

Implement a Python program that manages a train reservation system, raising custom exceptions for scenarios like train full, invalid station name, etc.

Example 1:

Input: Trains: {"train1": {"stations": ["station1", "station2", "station3"], "capacity": 100, "passengers": 50}}, Train: "train1", Station: "station2" 
Output: "Reservation successful."

Example 2:

Input: Trains: {"train1": {"stations": ["station1", "station2", "station3"], "capacity": 100, "passengers": 100}}, Train: "train1", Station: "station2" 
Output: "Error: Train full."

Use a dictionary to store the trains and their information.

def make_reservation(trains, train, station):
    if train not in trains:
        raise Exception("Error: Train not found.")
    elif station not in trains[train]["stations"]:
        raise Exception("Error: Invalid station name.")
    elif trains[train]["passengers"] >= trains[train]["capacity"]:
        raise Exception("Error: Train full.")
        trains[train]["passengers"] += 1
        return "Reservation successful."

trains = {"train1": {"stations": ["station1", "station2", "station3"], "capacity": 100, "passengers": 50}}
print(make_reservation(trains, "train1", "station2"))  # Output: "Reservation successful."
print(make_reservation(trains, "train1", "station4"))  # Output: "Error: Invalid station name."


© Let’s Data Science


Unlock AI & Data Science treasures. Log in!