+-----------------------+
| |
v |
+——–+ remaining_time != 0 +———–+———–+ | |————————>| | | Update | | Switch to next phase | | |<————————| | +——–+ | |
+-----------+-----------+
+------------------>| |
| | Print current phase |
| | and remaining time |
| | |
| +-----------+-----------+
| |
| Wait for one second |
| |
+-----------------------------------+
图中,主要是一个while循环来控制红绿灯的交替切换。在循环内部,首先通过每秒更新当前阶段的剩余时间,然后判断是否需要切换到下一个阶段。如果当前阶段时间已结束,则会切换到下一个阶段并重置剩余时间。然后,程序将打印出当前阶段和剩余时间,并等待一秒钟后再循环执行上述操作。最终实现了红绿灯的自动控制。