以如图格式绘制7段数码管,输出当前时间
时间: 2023-07-05 07:19:53 浏览: 65
Python绘制七段数码管实例代码
实现7段数码管需要先定义一个数码管的样式,然后根据当前时间获取每个数字的数码管样式,最后将它们拼接起来输出即可。
以下是一个简单的Python代码实现:
```
import time
# 数码管样式
digits = {
0: ['111', '101', '101', '101', '111'],
1: ['001', '001', '001', '001', '001'],
2: ['111', '001', '111', '100', '111'],
3: ['111', '001', '111', '001', '111'],
4: ['101', '101', '111', '001', '001'],
5: ['111', '100', '111', '001', '111'],
6: ['111', '100', '111', '101', '111'],
7: ['111', '001', '001', '001', '001'],
8: ['111', '101', '111', '101', '111'],
9: ['111', '101', '111', '001', '111'],
':': ['0', '1', '0', '1', '0']
}
# 获取当前时间的每个数字
def get_digits():
now = time.strftime("%H:%M:%S")
return [int(d) if d.isdigit() else ':' for d in now]
# 绘制数码管
def draw_digit(digit):
segments = digits[digit]
for i in range(5):
if segments[i][0] == '1':
print('■', end='')
else:
print(' ', end='')
if i == 1 or i == 3:
print(' ', end='')
print()
for i in range(5):
if segments[i][1] == '1':
print('■', end='')
else:
print(' ', end='')
if i == 1 or i == 3:
print(' ', end='')
print()
for i in range(5):
if segments[i][2] == '1':
print('■', end='')
else:
print(' ', end='')
if i == 1 or i == 3:
print(' ', end='')
print()
for i in range(5):
if segments[i][3] == '1':
print('■', end='')
else:
print(' ', end='')
if i == 1 or i == 3:
print(' ', end='')
print()
for i in range(5):
if segments[i][4] == '1':
print('■', end='')
else:
print(' ', end='')
if i == 1 or i == 3:
print(' ', end='')
print()
# 获取当前时间的每个数字,并绘制数码管
def main():
digits = get_digits()
for i in range(5):
draw_digit(digits[i])
# 执行主函数
if __name__ == '__main__':
main()
```
运行程序后,会输出当前时间的数码管样式。
阅读全文