分享

用Python写一个停车场收费的极简代码

 DATSIX 2024-05-15

    劳动节这几天,出入了各种停车场,我产生了一个想法——用代码简单的实现一下其中的逻辑:

1、入场。

入场后记录车牌号。

如果停满就不接收新入场车辆。

不出场不能再次进场。

2、出场。

出场要按计时方式收费。

出场后删除在场记录。

没有入场信息不能出场。


代码如下:

import datetime#用字典记录在库车辆的车牌和入场时间zaiku={}#这是停车场的容量,设置为3辆吧。total=3while 1: #剩余车位数 left=max((total-len(zaiku)),0) print(f'剩余车位:{left}个') #车辆在入口还是出口要手动输入 cr=input('出入口:') if cr=='r':#这是在入口的情况 #没有车位了就不接收车辆了 if left==0: print('停车场已满!') else:#这是有车位的情况 #手动输入车牌号 a=input('车牌号:') #如果有在场信息,就不接收 if a in zaiku.keys(): print('错误,车辆已入场') else:#没有在场信息就正常接收,并记录进入时间 zaiku[a]=datetime.datetime.now() print(f'在场车辆列表:{zaiku.keys()}') elif cr=='c':#这是在出口的情况 b=input('车牌号:')#手动输入车牌号 if b in zaiku.keys():#有在场信息 time=datetime.datetime.now()#出场时间 money=time-zaiku[b]#计算停车时长 print(f'停车时间{int(money.total_seconds())}秒') #停车费每秒钟1元钱,前15秒钟免费 print(f'出场成功,已支付{max((int(money.total_seconds())-15),0)}元') #删除在场信息 del zaiku[b] else:#无在场信息 print('错误,车辆未入场') print(f'在场车辆列表:{zaiku.keys()}') else:#输错入出口的情况 print('识别错误,请重新识别')

代码很简单,大家可以复制运行一下。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多