Python 实验报告,实现停车场收费管理系统

3.某小型收费停车场有50个车位,有一个入口与一个出口,满1小时收费1元,不足1小时不收费,10元封顶,超过1天罚款200元。编写程序实现停车场出入口管理。
要求:
(1)定义出入口类,将车位总数与目前停在停车场的车辆信息(每辆车包括车牌和入场时间)定义为类属性;
(2)定义entering()方法管理车辆进入,当无车位时输出“车位已满”,有车位时记录车辆入场信息;
(3)定义leaving()方法管理车辆离场,当车牌号不在停车场内时输出“错误”,在时计算提车时间,输出应缴纳的停车费,并从停车场车辆信息中删除该车;
(4)入口与出口分别为出入口类的一个实例,使用字符串模拟车辆进入与离场,车辆进入使用“A car ID ******* is coming”,车辆离场使用“A car ID ******* is leaving”模拟。输入“exit”结束程序。
下面展示一些 注意事项

// 用Car类调用方法时,需要对其实例化,如下
enter = Car().entering();
idtime = {}
class Car:
    number = 50 # 停车场车位总数
    ID = ' ' #车牌号
    dateTime = 0 #车辆入场时间
    free_number = 10 #停车场剩余车位
    time = 0 #停车时长


    def entering(self):
        if Car.free_number < 0:
            print("抱歉,停车场现在的车位已满")
        else:
            Car.ID = input("请输入你的车牌号:")
            Car.dateTime = input("请输入该车的入场时间:")
            istime = {Car.ID:Car.dateTime}

            while Car.ID in idtime:
                print("你输入的车牌有误,该车辆已经在停车场中!")
                Car.ID = input("请输入你的车牌号:")
            else:
                idtime.update(istime)
            Car.free_number -= 1


    def leaving(self):
        Car.ID = input("请输入你的车牌号:")
        if Car.ID in idtime:
            Car().money()
            Car.free_number += 1
        else:
            print("抱歉,你的车不在停车场")
            Car().leaving()


    def money(self):
        Car.time = int(input("请输入停车的时长:"))
        if 0 < Car.time <= 1:
            print("停车收费1元。不足一小时不收费")
        elif 1<=Car.time<=10:
            print("您需交停车费为:",Car.time,"元")
        elif 10 < Car.time <= 24:
            print("停车费收10元")
        elif Car.time > 24:
            print("停车超过一天,罚款200元")

while True:

    print('欢迎使用该停车系统:输入1停车,2离开,3退出')
    a = int(input())
    if a == 1:
        enter = Car().entering()
        print("该停车场当前车辆信息为:","A car ID ",idtime," is coming")
        print("停车场的车位有", Car.free_number, "个")
    elif a == 2:
        leave = Car().leaving()
        print("该停车场当前车辆信息为:", "A car ID ", idtime, " is leaving")
        print("停车场的车位有",Car.free_number,"个")
    else:
        print("欢迎下次使用!")
        break

以上代就是本次实验全部内容,如有什么问题,望指正。写的很low,不喜勿喷,自己目前正在加强学习,最后希望与大家共同进步。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年7月13日
下一篇 2023年7月13日

相关推荐