以下是一个简单实现车票管理系统的示例代码:

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()

这段代码实现了车票管理系统的基本功能,包括录入车票信息、浏览车票信息、查询车票信息、售票和退票功能。你可以根据需要对代码进行修改和扩展

编写一个代码车票管理系统:编程实现车票管理系统车票信息包括车次号、发车时间、起始站、终点站、行车时间、载客量、已售票等如:班次号 发车时间 起始站 终点站 行车时间 载客量 已售票1 800 郫县 广汉 2 45 302 630 郫县 成都 05 40 403 700 郫县 成都 05 40 204 1000 郫县 成都 05 40 2 具体实现的管理功能如下:1录入车次信息文本文件保存

原文地址: https://www.cveoy.top/t/topic/iIOB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录