我需要一个python编写的停车场管理系统
时间: 2023-08-25 07:14:27 浏览: 96
好的,以下是一个简单的 Python 停车场管理系统的示例代码,包括车辆信息的录入、查询、修改、删除、计费等功能:
```
import datetime
class Car:
def __init__(self, plate_number, brand, enter_time):
self.plate_number = plate_number
self.brand = brand
self.enter_time = enter_time
self.leave_time = None
def set_leave_time(self, leave_time):
self.leave_time = leave_time
def get_parking_time(self):
return self.leave_time - self.enter_time
class ParkingLot:
def __init__(self, capacity):
self.capacity = capacity
self.car_list = []
def add_car(self, car):
if len(self.car_list) < self.capacity:
self.car_list.append(car)
print("车辆已停入停车场")
else:
print("停车场已满,请您耐心等待或前往其他停车场")
def remove_car(self, plate_number):
for car in self.car_list:
if car.plate_number == plate_number:
self.car_list.remove(car)
print("车辆已取出")
return car
print("未找到该车辆")
return None
def find_car_by_plate_number(self, plate_number):
for car in self.car_list:
if car.plate_number == plate_number:
return car
print("未找到该车辆")
return None
def list_cars(self):
for car in self.car_list:
print("车牌号码:{},品牌:{},停车时间:{}".format(car.plate_number, car.brand, car.get_parking_time()))
def calculate_fee(self, car):
parking_time = car.get_parking_time()
hours = parking_time.seconds // 3600 + parking_time.days * 24
fee = hours * 10
return fee
# Example usage
parking_lot = ParkingLot(10)
car1 = Car("粤B12345", "Audi", datetime.datetime(2021, 7, 1, 8, 0))
car2 = Car("粤C67890", "BMW", datetime.datetime(2021, 7, 1, 10, 0))
car3 = Car("粤D24680", "Benz", datetime.datetime(2021, 7, 1, 12, 0))
parking_lot.add_car(car1)
parking_lot.add_car(car2)
parking_lot.add_car(car3)
car2.set_leave_time(datetime.datetime(2021, 7, 1, 16, 0))
fee = parking_lot.calculate_fee(car2)
print("停车费用:{}元".format(fee))
parking_lot.remove_car("粤C67890")
parking_lot.list_cars()
```
这段代码创建了一个`Car`类和一个`ParkingLot`类。`Car`类用于存储车辆的信息,包括车牌号码、品牌、进入时间和离开时间。`ParkingLot`类用于管理停车场的信息,包括停车场容量、车辆信息的增删改查和计费。
`ParkingLot`类包括了5个方法,分别用于将车辆停入停车场、将车辆取出停车场、按车牌号码查询车辆信息、列出所有停在停车场内的车辆信息和计算停车费用。停车场容量通过构造函数进行初始化,当停车场已满时,无法将车辆停入停车场。
在示例代码的最后,创建了3个车辆实例,并添加到停车场中。然后对第二辆车计算了停车费用,并将其取出停车场。最后列出了停在停车场内的车辆信息。
注意,这段代码只是一个示例,可能不能完全满足您的需求,您需要根据实际情况进行修改和扩展。
阅读全文