python中多辆车次驶入十字路口选择直行,左拐,右拐的行驶路径,要记录车辆通过不同路径的次数代码
时间: 2024-09-06 09:07:25 浏览: 34
Python 中处理多辆车进入十字路口行驶路径的选择可以使用类和策略模式来设计。这里我们可以创建三个策略类,分别代表直行(Straight)、左转(LeftTurn)和右转(RightTurn),每种策略都有自己的行为。然后,我们可以创建一个 `Vehicle` 类,它有一个 `choose_route` 方法来决定采用哪种策略。
```python
# 定义策略类
class RouteStrategy:
def __init__(self):
pass
def choose_route(self):
raise NotImplementedError()
class Straight(RouteStrategy):
def choose_route(self):
return "Going straight"
class LeftTurn(RouteStrategy):
def choose_route(self):
return "Turning left"
class RightTurn(RouteStrategy):
def choose_route(self):
return "Turning right"
# 车辆类
class Vehicle:
def __init__(self, strategy):
self.strategy = strategy
def choose_and_record_path(self):
route = self.strategy.choose_route()
# 假设有一个全局字典来记录路径选择
path_counts = {"straight": 0, "left": 0, "right": 0}
path_counts[route] += 1
return path_counts
# 创建车辆实例并选择路径
vehicle1 = Vehicle(Straight())
path_counts_1 = vehicle1.choose_and_record_path()
vehicle2 = Vehicle(LeftTurn())
path_counts_2 = vehicle2.choose_and_record_path()
vehicle3 = Vehicle(RightTurn())
path_counts_3 = vehicle3.choose_and_record_path()
# 结果可能类似于:
# {'straight': 1, 'left': 1, 'right': 1}
# 如果需要实时更新路径计数,你可以将`path_counts`存储在一个共享的数据结构中,比如数据库或队列中,以便其他部分的程序访问。
阅读全文