实现一个红绿灯效果,红灯30秒,黄灯3秒,绿灯45秒代码
时间: 2023-08-06 16:06:43 浏览: 49
以下是实现红绿灯效果的 Python 代码:
```python
import time
while True:
# 红灯 30 秒
print("红灯")
time.sleep(30)
# 黄灯 3 秒
print("黄灯")
time.sleep(3)
# 绿灯 45 秒
print("绿灯")
time.sleep(45)
```
代码首先进入一个无限循环,然后在每个循环中打印出当前的灯光颜色,并且使用 `time.sleep()` 函数让程序等待相应的时间。这样程序就实现了红绿灯效果。
相关问题
编程一个实现红绿灯效果,红灯30秒,黄灯3秒,绿灯45秒
可以使用如下的 Javascript 代码实现:
```javascript
function trafficLight() {
var redTime = 30; // 红灯持续时间,单位:秒
var yellowTime = 3; // 黄灯持续时间,单位:秒
var greenTime = 45; // 绿灯持续时间,单位:秒
var red = document.getElementById('red');
var yellow = document.getElementById('yellow');
var green = document.getElementById('green');
setInterval(function() {
// 显示红灯,隐藏黄灯和绿灯
red.style.display = 'block';
yellow.style.display = 'none';
green.style.display = 'none';
setTimeout(function() {
// 显示黄灯,隐藏红灯和绿灯
red.style.display = 'none';
yellow.style.display = 'block';
green.style.display = 'none';
setTimeout(function() {
// 显示绿灯,隐藏红灯和黄灯
red.style.display = 'none';
yellow.style.display = 'none';
green.style.display = 'block';
}, greenTime * 1000);
}, yellowTime * 1000);
}, (redTime + yellowTime + greenTime) * 1000);
}
trafficLight();
```
这段代码使用了 `setInterval` 和 `setTimeout` 函数来实现红绿灯的定时控制。首先定义了红灯、黄灯和绿灯的持续时间,以及相应的 DOM 元素。然后使用 `setInterval` 函数来控制整个红绿灯的循环,每次循环的总时间为红灯、黄灯和绿灯的持续时间之和。在每个循环中,先使用 `setTimeout` 函数来控制红灯的持续时间,然后再使用 `setTimeout` 函数来控制黄灯的持续时间,最后使用 `setTimeout` 函数来控制绿灯的持续时间。在每个时间段中,只显示相应的灯,其他灯都隐藏。
写一个红灯绿灯各30秒的带倒计时的红绿灯,黄灯3秒的程序,用idle
好的,以下是Python实现的代码:
```python
import time
import tkinter as tk
# 创建窗口
window = tk.Tk()
window.title("红绿灯")
window.geometry("300x150")
# 创建标签
label = tk.Label(window, text="", font=("Arial", 30), fg="red")
label.pack(pady=10)
# 定义倒计时函数
def countdown(t):
while t >= 0:
mins, secs = divmod(t, 60)
timeformat = '{:02d}:{:02d}'.format(mins, secs)
label.config(text=timeformat)
time.sleep(1)
t -= 1
# 定义红灯函数
def red_light():
label.config(text="红灯", fg="red")
countdown(30)
# 定义绿灯函数
def green_light():
label.config(text="绿灯", fg="green")
countdown(30)
# 定义黄灯函数
def yellow_light():
label.config(text="黄灯", fg="yellow")
countdown(3)
# 循环播放红绿灯
while True:
red_light()
yellow_light()
green_light()
# 进入主循环
window.mainloop()
```
运行程序后,将会出现一个带有倒计时的窗口,每隔30秒就会自动切换红灯和绿灯,每隔3秒就会自动切换黄灯。