编写一个代码车票管理系统:编程实现车票管理系统车票信息包括车次号、发车时间、起始站、终点站、行车时间、载客量、已售票等如:班次号 发车时间 起始站 终点站 行车时间 载客量 已售票1 800 郫县 广汉 2 45 302 630 郫县 成都 05 40 403 700 郫县 成都 05 40 204 1000 郫县 成都 05 40 2 具体实现的管理功能如下:1录入车次信息文本文件保存
以下是一个简单实现车票管理系统的示例代码:
import random
import time
class Ticket:
def __init__(self, number, departure_time, start_station, end_station, travel_time, capacity, sold_tickets):
self.number = number
self.departure_time = departure_time
self.start_station = start_station
self.end_station = end_station
self.travel_time = travel_time
self.capacity = capacity
self.sold_tickets = sold_tickets
def display_status(self):
current_time = time.strftime("%H:%M", time.localtime())
if current_time >= self.departure_time:
print("班次号 {} 已发出".format(self.number))
else:
print("班次号 {} 未发出".format(self.number))
class TicketManagementSystem:
def __init__(self):
self.tickets = []
def menu(self):
print("~~~~~欢迎使用车票管理系统!~~~~~")
print("=====================")
print("1.录入车票信息")
print("2.浏览车票信息")
print("3.查询车票信息")
print("4.售票")
print("5.退票")
print("6.退出系统")
print("=====================")
def add_ticket(self):
number = input("请输入车次号:")
departure_time = input("请输入发车时间:")
start_station = input("请输入起始站:")
end_station = input("请输入终点站:")
travel_time = input("请输入行车时间:")
capacity = input("请输入载客量:")
sold_tickets = input("请输入已售票数量:")
ticket = Ticket(number, departure_time, start_station, end_station, travel_time, capacity, sold_tickets)
self.tickets.append(ticket)
print("车票信息添加成功!")
def browse_tickets(self):
for ticket in self.tickets:
ticket.display_status()
def search_tickets_by_number(self, number):
for ticket in self.tickets:
if ticket.number == number:
return ticket
return None
def search_tickets_by_end_station(self, end_station):
result = []
for ticket in self.tickets:
if ticket.end_station == end_station:
result.append(ticket)
return result
def sell_ticket(self):
number = input("请输入要售票的车次号:")
ticket = self.search_tickets_by_number(number)
if ticket is None:
print("没有找到该车次号的车票信息")
return
current_time = time.strftime("%H:%M", time.localtime())
if current_time >= ticket.departure_time:
print("该车次已发出,无法售票")
return
if ticket.sold_tickets >= ticket.capacity:
print("该车次票已售完")
return
ticket.sold_tickets += 1
print("售票成功!")
def return_ticket(self):
number = input("请输入要退票的车次号:")
ticket = self.search_tickets_by_number(number)
if ticket is None:
print("没有找到该车次号的车票信息")
return
current_time = time.strftime("%H:%M", time.localtime())
if current_time >= ticket.departure_time:
print("该车次已发出,无法退票")
return
if ticket.sold_tickets <= 0:
print("该车次没有已售票")
return
ticket.sold_tickets -= 1
print("退票成功!")
def run(self):
while True:
self.menu()
choice = input("请选择:")
if choice == "1":
self.add_ticket()
elif choice == "2":
self.browse_tickets()
elif choice == "3":
search_choice = input("请选择查询方式(1.按车次号查询 2.按终点站查询):")
if search_choice == "1":
number = input("请输入车次号:")
ticket = self.search_tickets_by_number(number)
if ticket is None:
print("没有找到该车次号的车票信息")
else:
print("班次号:{}".format(ticket.number))
print("发车时间:{}".format(ticket.departure_time))
print("起始站:{}".format(ticket.start_station))
print("终点站:{}".format(ticket.end_station))
print("行车时间:{}".format(ticket.travel_time))
print("载客量:{}".format(ticket.capacity))
print("已售票:{}".format(ticket.sold_tickets))
elif search_choice == "2":
end_station = input("请输入终点站:")
tickets = self.search_tickets_by_end_station(end_station)
if len(tickets) == 0:
print("没有找到该终点站的车票信息")
else:
for ticket in tickets:
print("班次号:{}".format(ticket.number))
print("发车时间:{}".format(ticket.departure_time))
print("起始站:{}".format(ticket.start_station))
print("终点站:{}".format(ticket.end_station))
print("行车时间:{}".format(ticket.travel_time))
print("载客量:{}".format(ticket.capacity))
print("已售票:{}".format(ticket.sold_tickets))
else:
print("无效的选择")
elif choice == "4":
self.sell_ticket()
elif choice == "5":
self.return_ticket()
elif choice == "6":
print("退出系统")
break
else:
print("无效的选择")
if __name__ == "__main__":
system = TicketManagementSystem()
system.run()
这段代码实现了车票管理系统的基本功能,包括录入车票信息、浏览车票信息、查询车票信息、售票和退票功能。你可以根据需要对代码进行修改和扩展
原文地址: https://www.cveoy.top/t/topic/iIOB 著作权归作者所有。请勿转载和采集!