python停车场系统

一开始学生问我停车场的系统设计思路,他想做一个停车的系统。

可是以目前他掌握的知识点没办法做到特别的简化,那就用稍微麻烦点的方法先写一个,以后学到的新的简化方式再进行优化

这个系统会记录车牌号,业主姓名,注册日期,会员剩余天数

Ps:因为没有调用摄像头,所以进入停车场需要手动输入车牌号。

代码如下:

# 拿走代码请给一个小心心
import datetime
rongliang = 10  # 设置停车场容量
cheliang = 0  #已停车辆计数
while True:
    #选择功能  1.注册   2.进入停车场
    message = input('1.注册   2.进入停车场  请输入:')
    if message =='1':                            #注册功能
        chepaihao = input('车牌号:')
        name = input('姓名:')
        #保存车牌号
        with open('chepaihao.txt','a') as f1:
            f1.write(chepaihao+'\n')
        # 保存姓名
        with open('xingming.txt', 'a') as f1:
            f1.write(name + '\n')
        # 保存注册时间
        dangqian_time = datetime.datetime.now()
        with open('zhuceshijian.txt', 'a') as f1:
            f1.write(str(dangqian_time) + '\n')
        #注册成功
        #print('这里没有错')
        print('╭──────────────────────────╮')
        print('│      恭喜  注册成功        │')
        print('╰──────────────────────────╯\n\n\n')

    elif message =='2':

        #输入车牌
        chepaihao = input('车牌号:')
        # 获取注册车辆数
        with open('chepaihao.txt','r') as f1:
            res = len(f1.readlines())
        #判断是否有空位置
        if res >= rongliang:               # 获取文件行数
            print('停车场已满')                    # 停车场已满
            break
        else:
            #判断是否注册
            with open('chepaihao.txt','r') as f1:
                f_f1 = f1.read()
            if chepaihao in f_f1:                #已注册车辆准入
                cheliang += 1
                linshi_time = datetime.datetime.today()  #获取当前日期
                l_time1 = linshi_time.year     #年
                l_time2 = linshi_time.month     #月
                l_time3 = linshi_time.day     #日
                with open('chepaihao.txt', 'r') as f1:   #获取注册时间
                    zheuce_tiem = f1.read()

                # 查询车牌所在行数
                num = 0
                with open('chepaihao.txt','r')as f1:
                    ff1 = f1.readlines()
                for line in ff1:
                    if chepaihao in line:
                        hangshu = num
                        break
                    num += 1
                # 查询车牌注册时间所在行数
                with open('zhuceshijian.txt','r')as f1:
                    ff1 = f1.readlines()
                # 注册时间所在行的信息
                zhuce_time = ff1[num]
                # 获取具体时间 年月日  获取前10个字符串
                zhuce_time = list(zhuce_time)
                # print(zhuce_time)
                zhuce_time_str = ''
                for i in zhuce_time:
                    if i == '-':
                        continue
                    else:
                        zhuce_time_str += i
                # 获取年月日
                time_year = int(zhuce_time_str[:4])
                # print(time_year)
                time_month = int(zhuce_time_str[4:6])
                # print(time_month)
                time_day = int(zhuce_time_str[6:8])
                # print(time_day)
                #当前年月日
                x = datetime.date(l_time1+1,l_time2,l_time3)
                #注册年月日
                y = datetime.date(time_year,time_month,time_day)
                t = x.__sub__(y)
                # print(t)


                # 计算会员剩余时间
                print('会员车,欢迎进入,还剩时间{}\n'.format(t))
                print()
            else:                           #判断未注册
                print('请注册')


    # 重置数据库
    elif message =='123456':
        # 清空车牌号
        with open('chepaihao.txt', 'w') as f1:
            f1.write('')
        # 清空姓名
        with open('xingming.txt', 'w') as f1:
            f1.write('')
        # 清空注册时间
        with open('zhuceshijian.txt', 'w') as f1:
            f1.write('')
        print('数据库已重置\n\n')

    else:
        print('功能还没开发')


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值