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”结束程序。
下面展示一些 注意事项
。文章来源:https://www.toymoban.com/news/detail-526080.html
// 用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,不喜勿喷,自己目前正在加强学习,最后希望与大家共同进步。文章来源地址https://www.toymoban.com/news/detail-526080.html
到了这里,关于Python 实验报告,实现停车场收费管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!