Python大作业之智能停车系统(用了期末躺平)

重点先导包!!!

import datetime

 目录模块:

    def __init__(self):
        self.cars_info = {}
        self.max_parking_lot = {
            '1号停车位': 0,
            '2号停车位': 1,
            '3号停车位': 1,
            '4号停车位': 0,
            '5号停车位': 1,
            '6号停车位': 1,
        }
        print('-----------欢迎使用智能停车系统-----------')
        print('------------1.查看车位--------------')
        print('------------2.填写车辆信息--------------')
        print('------------3.选择停车--------------')
        print('------------4.选择出车--------------')
        print('------------5.查看车辆信息--------------')
        print('------------6.查看收费情况--------------')
        print('------------7.退出系统--------------')

   查看车位模块:

  def print_car_info(self):
        license_plate_number = input('请输入车牌号')
        try:
            print('车辆号:{}'.format(license_plate_number) + ' ' + '车主姓名:{}'.format(
                self.cars_info[license_plate_number]['车主姓名']) + ' ' + '车主手机号:{}'.format(
                self.cars_info[license_plate_number]['车主手机号'] + ' ' + '所在车位:{}'.format(
                    self.cars_info[license_plate_number]['所在车位'] + ' ' + '开始时间:{}'.format(
                        self.cars_info[license_plate_number]['开始时间'] + ' ' + '结束时间:{}'.format(
                            self.cars_info[license_plate_number]['结束时间'])))))
        except:
            print(f"!!!!!!!!!!!{license_plate_number} 车牌号不存在")
            print('请先填写车辆信息!!!!')

填写车辆信息模块:

    def query_parking_lot(self):
        self.klist = []
        count = 0
        for item in self.max_parking_lot:
            if self.max_parking_lot[item] == 1:
                count += 1
        if len(self.max_parking_lot) == count:
            print('当前没有空余位置!!!')
            print('请稍等')
        else:
            for i in self.max_parking_lot:
                if self.max_parking_lot[i] == 0:
                    self.klist.append(i)
                    lists = str(self.klist)[1:-1].replace("'", "")
            print('空余停车位有:{}'.format(lists))

   选择停车模块:

    def select_parking_car(self):
        license_plate_number = input('请输入车牌号')
        Parking_space = input('请选择有空余的停车位')
        if Parking_space in self.klist:
            self.max_parking_lot[Parking_space] = 1
            self.cars_info[license_plate_number]['所在车位'] = Parking_space
            now = datetime.datetime.now()
            self.cars_info[license_plate_number]['开始时间'] = now.strftime("%Y-%m-%d %H:%M:%S")

            print('停车成功')
        else:
            print('输入错误')

  选择出车模块:

 def select_Departure_car(self):
        license_plate_number = input('请输入车牌号')
        Parking_space = input('请输入离开的停车位')
        self.cars_info[license_plate_number]['所在车位'] = '无'
        self.max_parking_lot[Parking_space] = 0
        now = datetime.datetime.now()
        self.cars_info[license_plate_number]['结束时间'] = now.strftime("%Y-%m-%d %H:%M:%S")
        print('车辆离开停车场')

查看车辆信息模块:

    def add_car_info(self):
        license_plate_number = input('请输入车牌号')
        name = input('请输入车主姓名')
        phone = input('请输入车主手机号')
        self.cars_info = {
            license_plate_number: {
                '车主姓名': name,
                '车主手机号': phone,
                '所在车位': '无',
                '开始时间': '无',
                '结束时间':'无'
            }

        }

查看收费模块:

    def charge_car(self):
        license_plate_number = input('请输入车牌号')
        end_time = datetime.datetime.strptime(self.cars_info[license_plate_number]['结束时间'], '%Y-%m-%d %H:%M:%S')
        start_time = datetime.datetime.strptime(self.cars_info[license_plate_number]['开始时间'], '%Y-%m-%d %H:%M:%S')
        times = end_time - start_time
        minutes = int(times.total_seconds()/60)
        cost = minutes*5

        print('停车时间为{}分钟'.format(minutes))
        print('总费用为{}元'.format(cost))

主入口函数模块:

run = Car()

while True:
    print("-------------------------------------")
    select_num = int(input("请输入操作序号:"))
    if select_num == 1:
        run.query_parking_lot()
    elif select_num == 2:
        run.add_car_info()
    elif select_num == 3:
        run.select_parking_car()
    elif select_num == 4:
        run.select_Departure_car()
    elif select_num == 5:
        run.print_car_info()
    elif select_num == 6:
        run.charge_car()
    elif select_num == 7:
        print('程序结束!!!')
        break

完整源码!!!!

import datetime

class Car:
    def __init__(self):
        self.cars_info = {}
        self.max_parking_lot = {
            '1号停车位': 0,
            '2号停车位': 1,
            '3号停车位': 1,
            '4号停车位': 0,
            '5号停车位': 1,
            '6号停车位': 1,
        }
        print('-----------欢迎使用智能停车系统-----------')
        print('------------1.查看车位--------------')
        print('------------2.填写车辆信息--------------')
        print('------------3.选择停车--------------')
        print('------------4.选择出车--------------')
        print('------------5.查看车辆信息--------------')
        print('------------6.查看收费情况--------------')
        print('------------7.退出系统--------------')

    def print_car_info(self):
        license_plate_number = input('请输入车牌号')
        try:
            print('车辆号:{}'.format(license_plate_number) + ' ' + '车主姓名:{}'.format(
                self.cars_info[license_plate_number]['车主姓名']) + ' ' + '车主手机号:{}'.format(
                self.cars_info[license_plate_number]['车主手机号'] + ' ' + '所在车位:{}'.format(
                    self.cars_info[license_plate_number]['所在车位'] + ' ' + '开始时间:{}'.format(
                        self.cars_info[license_plate_number]['开始时间'] + ' ' + '结束时间:{}'.format(
                            self.cars_info[license_plate_number]['结束时间'])))))
        except:
            print(f"!!!!!!!!!!!{license_plate_number} 车牌号不存在")
            print('请先填写车辆信息!!!!')

    def query_parking_lot(self):
        self.klist = []
        count = 0
        for item in self.max_parking_lot:
            if self.max_parking_lot[item] == 1:
                count += 1
        if len(self.max_parking_lot) == count:
            print('当前没有空余位置!!!')
            print('请稍等')
        else:
            for i in self.max_parking_lot:
                if self.max_parking_lot[i] == 0:
                    self.klist.append(i)
                    lists = str(self.klist)[1:-1].replace("'", "")
            print('空余停车位有:{}'.format(lists))

    def add_car_info(self):
        license_plate_number = input('请输入车牌号')
        name = input('请输入车主姓名')
        phone = input('请输入车主手机号')
        self.cars_info = {
            license_plate_number: {
                '车主姓名': name,
                '车主手机号': phone,
                '所在车位': '无',
                '开始时间': '无',
                '结束时间':'无'
            }

        }

    def select_parking_car(self):
        license_plate_number = input('请输入车牌号')
        Parking_space = input('请选择有空余的停车位')
        if Parking_space in self.klist:
            self.max_parking_lot[Parking_space] = 1
            self.cars_info[license_plate_number]['所在车位'] = Parking_space
            now = datetime.datetime.now()
            self.cars_info[license_plate_number]['开始时间'] = now.strftime("%Y-%m-%d %H:%M:%S")

            print('停车成功')
        else:
            print('输入错误')

    def select_Departure_car(self):
        license_plate_number = input('请输入车牌号')
        Parking_space = input('请输入离开的停车位')
        self.cars_info[license_plate_number]['所在车位'] = '无'
        self.max_parking_lot[Parking_space] = 0
        now = datetime.datetime.now()
        self.cars_info[license_plate_number]['结束时间'] = now.strftime("%Y-%m-%d %H:%M:%S")
        print('车辆离开停车场')

    def charge_car(self):
        license_plate_number = input('请输入车牌号')
        end_time = datetime.datetime.strptime(self.cars_info[license_plate_number]['结束时间'], '%Y-%m-%d %H:%M:%S')
        start_time = datetime.datetime.strptime(self.cars_info[license_plate_number]['开始时间'], '%Y-%m-%d %H:%M:%S')
        times = end_time - start_time
        minutes = int(times.total_seconds()/60)
        cost = minutes*5

        print('停车时间为{}分钟'.format(minutes))
        print('总费用为{}元'.format(cost))

run = Car()

while True:
    print("-------------------------------------")
    select_num = int(input("请输入操作序号:"))
    if select_num == 1:
        run.query_parking_lot()
    elif select_num == 2:
        run.add_car_info()
    elif select_num == 3:
        run.select_parking_car()
    elif select_num == 4:
        run.select_Departure_car()
    elif select_num == 5:
        run.print_car_info()
    elif select_num == 6:
        run.charge_car()
    elif select_num == 7:
        print('程序结束!!!')
        break

总结

以上就是今天的学习内容啦~
咱们下期再见老铁~ 

需要定制python大作业可以加一下我QQ2597170348!!

感觉还不错的话请一键三连,谢谢!!

  • 31
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玫瑰90

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值