python 交通灯
时间: 2024-06-20 07:02:10 浏览: 10
Python 交通灯是一个经典的编程示例,用来教学多态和状态机的概念。通常,它会使用类和对象来模拟红绿灯的行为。以下是创建一个简单的交通灯模拟的基本步骤:
1. 定义颜色状态:创建三个类,分别代表红灯、黄灯和绿灯,每个类都有一个表示当前颜色的属性。
```python
class TrafficLight:
def __init__(self):
self.color = "Red"
class RedLight(TrafficLight):
pass
class YellowLight(TrafficLight):
pass
class GreenLight(TrafficLight):
pass
```
2. 状态转换:为每个类定义改变颜色的方法(比如 `change_color`),并根据交通灯规则(如红变绿,绿变黄,黄变红)来实现。
```python
class TrafficLight:
# 其他方法...
def change_color(self):
if self.color == "Red":
self.color = "Yellow"
elif self.color == "Yellow":
self.color = "Green"
else: # 自动回红
self.color = "Red"
```
3. 主程序:创建交通灯对象,并通过调用方法模拟信号灯的变化。
```python
if __name__ == "__main__":
traffic_light = TrafficLight()
while True:
print(f"Current light color: {traffic_light.color}")
traffic_light.change_color()
time.sleep(2) # 暂停一段时间以模仿实际灯周期
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)