用Python写七段数码管显示带倒计时红绿灯,并显示时间红灯30秒,黄灯3秒
时间: 2023-12-03 16:47:33 浏览: 204
下面是一个简单的代码示例,使用 Python 的 time 模块实现倒计时和颜色切换:
```
import time
# 七段数码管数字映射
digits = {
0: ['###', '# #', '# #', '# #', '###'],
1: [' #', ' #', ' #', ' #', ' #'],
2: ['###', ' #', '###', '# ', '###'],
3: ['###', ' #', '###', ' #', '###'],
4: ['# #', '# #', '###', ' #', ' #'],
5: ['###', '# ', '###', ' #', '###'],
6: ['###', '# ', '###', '# #', '###'],
7: ['###', ' #', ' #', ' #', ' #'],
8: ['###', '# #', '###', '# #', '###'],
9: ['###', '# #', '###', ' #', '###']
}
# 红绿灯倒计时
def traffic_light():
for i in range(30, -1, -1):
# 红灯
print(digits[i//10][0], digits[i//10][1], digits[i//10][2], digits[i//10][3], digits[i//10][4],
digits[i%10][0], digits[i%10][1], digits[i%10][2], digits[i%10][3], digits[i%10][4], "RED")
time.sleep(1)
# 黄灯
for j in range(3):
print(digits[i//10][0], digits[i//10][1], digits[i//10][2], digits[i//10][3], digits[i//10][4],
digits[i%10][0], digits[i%10][1], digits[i%10][2], digits[i%10][3], digits[i%10][4], "YELLOW")
time.sleep(1)
# 绿灯
print(digits[i//10][0], digits[i//10][1], digits[i//10][2], digits[i//10][3], digits[i//10][4],
digits[i%10][0], digits[i%10][1], digits[i%10][2], digits[i%10][3], digits[i%10][4], "GREEN")
time.sleep(1)
traffic_light()
```
此代码实现了一个简单的红绿灯倒计时,每个灯的时间分别为红灯30秒,黄灯3秒,绿灯30秒。七段数码管的数字映射存储在一个字典中,通过循环打印对应的数字和颜色实现倒计时和红绿灯显示。
阅读全文