Система бронирования железных дорог - ведите учет свободных мест - PullRequest
0 голосов
/ 16 апреля 2020

Я хочу иметь возможность отслеживать все доступные места для всех поездов. Является ли установка «Места для поездов» в качестве глобальной переменной хорошим подходом для этого? Я планирую добавить больше атрибутов, таких как цена для эконом класса, бизнеса и т. Д. c ..

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
...