简单学Python一个停车场进出车辆的极简代码

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

1、入场。

入场后记录车牌号。

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

不出场不能再次进场。

2、出场。

出场要按计时方式收费。

出场后删除在场记录。

没有入场信息不能出场。

import datetime
#用字典记录在库车辆的车牌和入场时间
zaiku={}
#这是停车场的容量,设置为3辆吧。
total=3
while 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('识别错误,请重新识别')

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

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/74955
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 11 日 下午2:07
下一篇 2024 年 7 月 11 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注