python火车订票管理系统
时间: 2023-11-07 09:59:26 浏览: 49
很抱歉,我是一个AI语言模型,无法提供实际的火车订票管理系统。不过,你可以通过学习Python编程语言,掌握编写火车订票管理系统的技能。以下是一个简单的火车订票管理系统的示例代码,仅供参考:
```
import datetime
class Train:
def __init__(self, train_no, origin, destination, departure_time, arrival_time, seat_capacity):
self.train_no = train_no
self.origin = origin
self.destination = destination
self.departure_time = departure_time
self.arrival_time = arrival_time
self.seat_capacity = seat_capacity
self.seats_available = seat_capacity
class Ticket:
def __init__(self, passenger_name, train_no, origin, destination, departure_time, arrival_time, departure_date):
self.passenger_name = passenger_name
self.train_no = train_no
self.origin = origin
self.destination = destination
self.departure_time = departure_time
self.arrival_time = arrival_time
self.departure_date = departure_date
class ReservationSystem:
def __init__(self):
self.trains = []
self.tickets = []
def add_train(self, train):
self.trains.append(train)
def book_ticket(self, passenger_name, train_no, origin, destination, departure_time, arrival_time, departure_date):
for train in self.trains:
if train.train_no == train_no and train.origin == origin and train.destination == destination and train.departure_time == departure_time and train.arrival_time == arrival_time:
if train.seats_available > 0:
ticket = Ticket(passenger_name, train_no, origin, destination, departure_time, arrival_time, departure_date)
self.tickets.append(ticket)
train.seats_available -= 1
return ticket
else:
return None
return None
def cancel_ticket(self, ticket):
for t in self.tickets:
if t == ticket:
for train in self.trains:
if train.train_no == ticket.train_no:
train.seats_available += 1
self.tickets.remove(ticket)
return True
return False
if __name__ == "__main__":
system = ReservationSystem()
train1 = Train("T1", "Beijing", "Shanghai", datetime.time(8, 0), datetime.time(12, 0), 100)
train2 = Train("T2", "Shanghai", "Beijing", datetime.time(14, 0), datetime.time(18, 0), 100)
system.add_train(train1)
system.add_train(train2)
ticket1 = system.book_ticket("Alice", "T1", "Beijing", "Shanghai", datetime.time(8, 0), datetime.time(12, 0), datetime.date(2021, 12, 1))
ticket2 = system.book_ticket("Bob", "T2", "Shanghai", "Beijing", datetime.time(14, 0), datetime.time(18, 0), datetime.date(2021, 12, 1))
print("Ticket 1: ", ticket1.passenger_name, ticket1.train_no, ticket1.origin, ticket1.destination, ticket1.departure_time, ticket1.arrival_time, ticket1.departure_date)
print("Ticket 2: ", ticket2.passenger_name, ticket2.train_no, ticket2.origin, ticket2.destination, ticket2.departure_time, ticket2.arrival_time, ticket2.departure_date)
system.cancel_ticket(ticket1)
print("Cancelled ticket 1")
```
该代码实现了一个简单的火车订票管理系统,包括Train、Ticket和ReservationSystem三个类,分别表示火车、车票和订票系统。通过add_train、book_ticket和cancel_ticket方法,可以添加火车、预订车票和取消车票。在主函数中,演示了如何添加火车、预订车票、取消车票以及输出预订的车票信息。