python停车场收费系统
时间: 2023-07-26 14:10:29 浏览: 76
实现一个简单的停车场收费系统,可以按照以下步骤进行:
1. 定义车辆类,包含车牌号码和停车时间等属性。
2. 定义停车场类,包含停车位数、已停车数、停车费用等属性,以及相应的进入和离开方法。
3. 实现计算停车费用的方法,可以根据停车时间和车型等因素进行计算。
4. 在主函数中实例化停车场类,并模拟车辆进出停车场的过程,计算收费并输出收费明细。
以下是一个简单的实现示例:
```python
class Vehicle:
def __init__(self, plate_number, enter_time):
self.plate_number = plate_number
self.enter_time = enter_time
class ParkingLot:
def __init__(self, capacity):
self.capacity = capacity
self.occupied = 0
self.rate = 5 # 停车费率(每小时5元)
self.vehicles = {}
def enter(self, vehicle):
if self.occupied < self.capacity:
self.vehicles[vehicle.plate_number] = vehicle
self.occupied += 1
print(f"{vehicle.plate_number} 进入停车场,停车位余量:{self.capacity - self.occupied}")
else:
print("停车场已满,无法进入")
def leave(self, plate_number):
if plate_number in self.vehicles:
vehicle = self.vehicles[plate_number]
del self.vehicles[plate_number]
self.occupied -= 1
duration = (time.time() - vehicle.enter_time) / 3600 # 计算停车时间(单位:小时)
charge = round(duration * self.rate, 2) # 计算停车费用(保留2位小数)
print(f"{vehicle.plate_number} 离开停车场,停车费用:{charge}元")
else:
print(f"{plate_number} 不在停车场内")
if __name__ == '__main__':
lot = ParkingLot(10)
lot.enter(Vehicle("京A12345", time.time()))
time.sleep(2) # 模拟停车2小时
lot.leave("京A12345")
```
运行结果:
```
京A12345 进入停车场,停车位余量:9
京A12345 离开停车场,停车费用:10.0元
```
以上是一个基础的停车场收费系统实现,可以根据实际需求进行扩展和改进。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)