python模拟火车订票系统
时间: 2023-08-28 13:04:37 浏览: 66
好的,下面是一个简单的火车订票系统的 Python 代码示例:
```python
# 定义一个字典来保存车次及其座位信息
trains = {
"G1": {"seats": [i for i in range(1, 51)], "price": 100},
"G2": {"seats": [i for i in range(1, 51)], "price": 100},
"G3": {"seats": [i for i in range(1, 51)], "price": 100},
"G4": {"seats": [i for i in range(1, 51)], "price": 100},
"D1": {"seats": [i for i in range(1, 21)], "price": 150},
"D2": {"seats": [i for i in range(1, 21)], "price": 150},
"D3": {"seats": [i for i in range(1, 21)], "price": 150},
"D4": {"seats": [i for i in range(1, 21)], "price": 150},
}
# 定义一个函数来查询余票信息
def query_train(train_num):
if train_num in trains:
print(f"Train {train_num} has {len(trains[train_num]['seats'])} seats left.")
else:
print(f"Train {train_num} does not exist.")
# 定义一个函数来购买车票
def buy_ticket(train_num, seat_num):
if train_num not in trains:
print(f"Train {train_num} does not exist.")
elif seat_num not in trains[train_num]['seats']:
print(f"Seat {seat_num} is not available on train {train_num}.")
else:
price = trains[train_num]['price']
trains[train_num]['seats'].remove(seat_num)
print(f"Purchase successful! The ticket for seat {seat_num} on train {train_num} costs {price} yuan.")
# 示例代码
query_train("G1") # 输出 "Train G1 has 50 seats left."
buy_ticket("G1", 1) # 输出 "Purchase successful! The ticket for seat 1 on train G1 costs 100 yuan."
query_train("G1") # 输出 "Train G1 has 49 seats left."
buy_ticket("G1", 1) # 输出 "Seat 1 is not available on train G1."
query_train("G5") # 输出 "Train G5 does not exist."
```
这是一个比较简单的示例代码,实际的火车订票系统会更加复杂,需要考虑更多的因素,比如座位等级、起点终点站等。