实现一个红绿灯效果,红灯30秒,黄灯3秒,绿灯45秒代码
时间: 2023-08-06 15:06:43 浏览: 183
以下是实现红绿灯效果的 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` 函数来控制绿灯的持续时间。在每个时间段中,只显示相应的灯,其他灯都隐藏。
利用JS实现一个红绿灯效果,每次红灯亮10秒,黄灯亮3秒,绿灯亮8秒,并在红绿灯右侧显示倒计时
以下是实现红绿灯效果及倒计时的JavaScript代码:
```javascript
var redLight = document.getElementById("red");
var yellowLight = document.getElementById("yellow");
var greenLight = document.getElementById("green");
var timer = document.getElementById("timer");
function red() {
redLight.style.backgroundColor = "red";
yellowLight.style.backgroundColor = "black";
greenLight.style.backgroundColor = "black";
timer.innerHTML = "10";
setTimeout(yellow, 10000);
}
function yellow() {
redLight.style.backgroundColor = "black";
yellowLight.style.backgroundColor = "yellow";
greenLight.style.backgroundColor = "black";
timer.innerHTML = "3";
setTimeout(green, 3000);
}
function green() {
redLight.style.backgroundColor = "black";
yellowLight.style.backgroundColor = "black";
greenLight.style.backgroundColor = "green";
timer.innerHTML = "8";
setTimeout(red, 8000);
}
red();
```
在 HTML 中,需要创建三个 div 元素,分别代表红灯、黄灯、绿灯,以及一个用于显示倒计时的 span 元素。例如:
```html
<div id="red"></div>
<div id="yellow"></div>
<div id="green"></div>
<span>倒计时:<span id="timer"></span>s</span>
```
CSS 样式可以根据需要自行定义。
在 JavaScript 中,通过 getElementById 获取到红灯、黄灯、绿灯和计时器元素,在 red 函数中设置红灯亮起并开始倒计时,并在 setTimeout 中设置在 10 秒后调用 yellow 函数。在 yellow 和 green 函数中同理,分别设置黄灯和绿灯亮起并开始倒计时,并在 setTimeout 中设置相应的等待时间后调用下一个函数。在倒计时的过程中,每次更新计时器元素的 innerHTML。最后,在程序开始时调用 red 函数即可。
阅读全文