停车场重构

#导入模块
import datetime

print("-------欢迎来到停车管理系统-------")
#选择函数
def xuanze():
    print("-------请选择操作-------")
    print("停车场      输入【1】")
    print("停车       输入【2】")
    print("出场       输入【3】")
    print("查询       输入【4】")
    print("历史查询    输入【5】")
    print("退出       输入【6】")
    print("**********************************")
    xuanze1 = input("请选择需要的操作:")
    return xuanze1

#车的类
class Car:
    def __init__(self,ting_chepai,shijian):
        self.ting_chepai = ting_chepai
        self.shijian = shijian

#停车场的类
class Park:
    def __init__(self,park_number):
        # 停车场号
        self.park_number = park_number
        #车位多少
        self.chewei = 100
        #车位列表
        self.list = []
        #历史查询列表
        self.history_list = []
        # 停车场列表
        self.parking_list = []


    #停车场函数
    def park_num(self):
        park_number = input("请输入停车场:")
        # 创建对象
        park = Park(park_number)
        # 添加到列表
        self.parking_list.append(park)
        print(f"你已选择",park_number,"号停车场")

    # 停车函数
    def tingche(self):
        # 先判断是否有空车位
        if self.chewei != 0:
            print(f"恭喜您,还有{self.chewei}车位")
            # 进入一辆车,车位就减1
            self.chewei -= 1
            ting_chepai = input("停车收费5000元/小时,请输入你的车牌号:")
            #获取当前时间(毫秒)
            start_time = datetime.datetime.now()
            #创建对象
            car = Car(ting_chepai,start_time)
            # 添加到列表
            self.list.append(car)
            print(f"恭喜您,车牌号为",car.ting_chepai,"的车入场成功,入场时间:",start_time.strftime('%Y-%m-%d  %H:%M:%S'))

    #出场函数
    def chuchang(self):
        chu_chepai = input("请输入你的车牌:")
        for car in self.list:
            if car.ting_chepai == chu_chepai:
                # 入场时间
                start_time1 = car.shijian
                # 出场时间
                end_time = datetime.datetime.now()
                print("出场时间:",end_time.strftime('%Y-%m-%d  %H:%M:%S'))
                # 计算时间差(小时) 保留小数点后3位
                ting_time = round((end_time - start_time1).seconds /3600,3)
                # 停车费用
                money = 5000 * ting_time
                print(f"您停了{ting_time}小时,应该付款{money}元")
                #移除已经出场的车辆
                self.list.remove(car)
                break
    #查询函数
    def chaxun(self):
        cha_chepai = input("请输入你的车牌:")
        #遍历
        for car in self.list:
            if car.ting_chepai == cha_chepai:
                # 入场时间
                start_time1 = car.shijian
                # 当前时间
                current_time = datetime.datetime.now()
                # 计算时间差
                ting_time1 = round((current_time - start_time1).seconds /3600,3)
                # 停车费用
                money1 = 5000 * ting_time1
                print(f"您已停了{ting_time1}小时,需花费{money1}元")
                break
        else:
            print("您要查找的车辆不存在,如有问题请联系管理员")

    #历史查询函数
    def cha_history(self):
        h_chang = input("请输入你的停车场号:")
        for park in self.parking_list:
            #如果停车场号正确再输入车牌
            if h_chang == park.park_number:
                h_chepai = input("请输入你的车牌号:")
                for car in self.list:
                    if car.ting_chepai == h_chepai:
                        # 入场时间
                        start_time2 = car.shijian
                        # 当前时间
                        current_time1 = datetime.datetime.now()
                        # 计算时间差
                        ting_time2 = round((current_time1 - start_time2).seconds/3600,3)
                        # 停车费用
                        ting_time = ting_time2 / 3600
                        money2 = 5000 * ting_time2
                        print(f"您已停了{ting_time2}小时,需花费{money2}元")
                        break
                else:
                    print("您要查找的车辆不存在,如有问题请联系管理员")
                break
        else:
            print("您要查找的停车场不存在")

parking = Park(1)
#主函数
while True:
    #调用
    xuanze1= xuanze()
    if xuanze1 == "1":
        # 停车场调用
        parking.park_num()
    elif xuanze1 == "2":
        # 入场调用
        parking.tingche()
    elif xuanze1 == "3":
        # 出场调用
        parking.chuchang()
    elif xuanze1 == "4":
        # 查询调用
        parking.chaxun()
    elif xuanze1 == "5":
        # 历史查询调用
        parking.cha_history()
    else:
        print("-------退出-------")
        print("你好,你已退出停车管理系统")
        break

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值