基于python的火车票订票系统的设计与实现的代码,不利用数据库
时间: 2023-12-07 15:06:00 浏览: 40
好的,下面是一个简单的基于 Python 的火车票订票系统的代码实现,不利用数据库:
```python
import random
# 定义火车票类
class Ticket:
def __init__(self, train_no, start_station, end_station, price, seat_num):
self.train_no = train_no
self.start_station = start_station
self.end_station = end_station
self.price = price
self.seat_num = seat_num
# 定义火车票订票系统类
class TicketSystem:
def __init__(self):
self.tickets = [] # 存储所有火车票的列表
# 添加一张新的火车票
def add_ticket(self, train_no, start_station, end_station, price, seat_num):
ticket = Ticket(train_no, start_station, end_station, price, seat_num)
self.tickets.append(ticket)
# 查询余票
def query_tickets(self, start_station, end_station):
available_tickets = [] # 存储符合条件的火车票的列表
for ticket in self.tickets:
if ticket.start_station == start_station and ticket.end_station == end_station and ticket.seat_num > 0:
available_tickets.append(ticket)
return available_tickets
# 订票
def book_ticket(self, train_no):
for ticket in self.tickets:
if ticket.train_no == train_no and ticket.seat_num > 0:
ticket.seat_num -= 1
return "订票成功,车票号为:" + str(random.randint(10000, 99999))
return "订票失败,该车次无余票"
# 示例代码
if __name__ == '__main__':
ticket_system = TicketSystem()
ticket_system.add_ticket("G1001", "北京", "上海", 500, 100)
ticket_system.add_ticket("G1002", "上海", "北京", 500, 50)
ticket_system.add_ticket("G1003", "北京", "上海", 500, 80)
available_tickets = ticket_system.query_tickets("北京", "上海")
print("查询到的符合条件的车票有:")
for ticket in available_tickets:
print(ticket.train_no, ticket.start_station, ticket.end_station, ticket.price, ticket.seat_num)
print("开始订票...")
print(ticket_system.book_ticket("G1001"))
print(ticket_system.book_ticket("G1001"))
print(ticket_system.book_ticket("G1001"))
print(ticket_system.book_ticket("G1001"))
```
这个简单的代码演示了一个火车票订票系统的基本功能,包括添加火车票、查询余票和订票三个功能。通过实例化 TicketSystem 类,我们可以调用其中的方法来实现这些功能。其中订票时,如果该车次有余票,则会将余票数量减 1,并返回一个随机生成的车票号;如果没有余票,则会返回订票失败。