用python定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达的时间和离开的时间等信息和相关的对 性做操作的行为。
时间: 2023-11-18 21:02:14 浏览: 47
好的,以下是一个简单的Python代码示例,定义一个车辆类,包含车牌号、颜色、车型、到达时间和离开时间等属性,以及进出停车场的行为:
```python
import datetime
class Vehicle:
def __init__(self, plate_number, color, vehicle_type, enter_time=None, exit_time=None):
self.plate_number = plate_number
self.color = color
self.vehicle_type = vehicle_type
self.enter_time = enter_time
self.exit_time = exit_time
def enter_parking_lot(self):
self.enter_time = datetime.datetime.now()
def exit_parking_lot(self):
self.exit_time = datetime.datetime.now()
def get_parking_time(self):
if self.enter_time and self.exit_time:
return self.exit_time - self.enter_time
else:
return None
def get_parking_fee(self):
parking_time = self.get_parking_time()
if parking_time:
if self.vehicle_type == '小汽车':
parking_fee = (parking_time.total_seconds() // 900 + 1) * 1.5
elif self.vehicle_type == '小卡':
parking_fee = (parking_time.total_seconds() // 900 + 1) * 3
elif self.vehicle_type == '中卡':
parking_fee = (parking_time.total_seconds() // 900 + 1) * 4.5
elif self.vehicle_type == '大卡':
parking_fee = (parking_time.total_seconds() // 900 + 1) * 6
else:
parking_fee = None
return parking_fee
else:
return None
```
在上述代码中,我们定义了一个车辆类 `Vehicle`,包含了车牌号、颜色、车型、到达时间和离开时间等属性,以及进出停车场和计算停车费用等行为。具体来说:
- `__init__` 方法用于初始化车辆对象,包含车牌号、颜色、车型、到达时间和离开时间等属性。
- `enter_parking_lot` 方法用于车辆进入停车场,记录进入时间。
- `exit_parking_lot` 方法用于车辆离开停车场,记录离开时间。
- `get_parking_time` 方法用于计算车辆的停车时间。
- `get_parking_fee` 方法用于计算车辆的停车费用,根据车型和停车时间计算。
需要注意的是,上述代码中计算停车费用的公式与前面的示例代码相同,根据车型和停车时间计算停车费用。
使用示例:
```python
# 创建一个小汽车对象
car = Vehicle('京A12345', '红色', '小汽车')
# 车辆进入停车场
car.enter_parking_lot()
# 停车5小时后离开停车场
car.exit_parking_lot()
parking_fee = car.get_parking_fee()
# 输出结果
print('车牌号:', car.plate_number)
print('颜色:', car.color)
print('车型:', car.vehicle_type)
print('停车时间:', car.get_parking_time())
print('停车费用:', parking_fee, '元')
```
在上述示例中,我们首先创建了一个小汽车对象 `car`,然后调用 `enter_parking_lot` 方法记录进入时间。接着,停车5小时后,调用 `exit_parking_lot` 方法记录离开时间,并计算停车费用。最后,输出车辆信息、停车时间和停车费用。
需要注意的是,上述示例中的时间单位为小时,如果需要精确到分钟,可以将计算停车时间和停车费用的公式中的900(即15分钟的秒数)改为60(即1分钟的秒数)。