重点先导包!!!
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!!
感觉还不错的话请一键三连,谢谢!!