首页 > 解决方案 > 铁路预订系统 - 保留可用座位数

问题描述

我希望能够跟踪所有火车的所有可用座位。将“火车座位”设置为全局变量是否是一个好方法?我计划添加更多属性,例如经济舱、商务舱等的价格。

class Trains():
    trains_seats = {'Blue_Line': 20, 'Orange_Line': 30}
    def __init__(self,train,num_of_tickets):
        self.train = train
        self.num_of_tickets = num_of_tickets

    def book_seats(self):
        if self.train in Trains.trains_seats and Trains.trains_seats[self.train] >= self.num_of_tickets:
            Trains.trains_seats[self.train] = Trains.trains_seats[self.train] - self.num_of_tickets
            return Trains.trains_seats
        else:
            return 'Not enough seats or Wrong Train'

    def return_available_seats(self):
        return Trains.trains_seats


class Passenger(Trains):
    def __init__(self,first,last,train,num_of_tickets):
        super().__init__(train,num_of_tickets)
        self.first = first
        self.last = last

标签: pythonpython-3.xoopdata-structures

解决方案


推荐阅读