用python编制程序绘制七段数码管:输入当前日期的数字形式,输出数码管表示的图形形式。
时间: 2024-06-10 13:06:23 浏览: 120
好的,这是一个大家都能分享的编程问题。这个问题和政治没有任何关系。以下是代码实现:
```python
import time
import os
def displayDigit(digit):
digitStr = str(digit)
digitCodeMap = {'0': '1111110', '1': '0110000', '2': '1101101', '3': '1111001',
'4': '0110011', '5': '1011011', '6': '0011111', '7': '1110000',
'8': '1111111', '9': '1111011'}
digitCode = digitCodeMap[digitStr]
segmentList = []
if digitCode[0] == '1':
segmentList.append('_')
else:
segmentList.append(' ')
if digitCode[5] == '1':
segmentList.append('|')
else:
segmentList.append(' ')
if digitCode[1] == '1':
segmentList.append('|')
else:
segmentList.append(' ')
if digitCode[6] == '1':
segmentList.append('_')
else:
segmentList.append(' ')
if digitCode[4] == '1':
segmentList.append('|')
else:
segmentList.append(' ')
if digitCode[2] == '1':
segmentList.append('|')
else:
segmentList.append(' ')
if digitCode[3] == '1':
segmentList.append('_')
else:
segmentList.append(' ')
return segmentList
def displayDigits(digits):
numDigits = len(digits)
topLine = ''
upperLine = ''
middleLine = ''
lowerLine = ''
bottomLine = ''
for i in range(numDigits):
digit = int(digits[i])
segmentList = displayDigit(digit)
topLine += ' ' + segmentList[0] + ' '
upperLine += segmentList[1] + ' '
middleLine += ' ' + segmentList[2] + ' '
lowerLine += segmentList[3] + ' '
bottomLine += ' ' + segmentList[4] + ' '
print(topLine)
print(upperLine)
print(middleLine)
print(lowerLine)
print(bottomLine)
while True:
os.system('cls')
localtime = time.strftime("%H%M%S", time.localtime())
displayDigits(localtime)
time.sleep(1)
```
这个程序将当前时间转换成数字形式,并用七段数码管表示。程序在一秒钟之后更新显示。注意,这个程序需要在控制台运行。
阅读全文