代码效果:
获取本地时间并使用turtle库绘制数码晶体管图,效果如下:
'''
from turtle import *
from time import *
def drawGap(): #绘制数码管间隔
penup()
fd(5)
def drawLine(draw): #绘制单段数码管
drawGap()
pendown() if draw else penup()
fd(40)
drawGap()
right(90)
def drawDigit(dight):
drawLine(True) if dight in '2,3,4,5,6,8,9' else drawLine(False)
drawLine(True) if dight in '0,1,3,4,5,6,7,8,9' else drawLine(False)
drawLine(True) if dight in '0,2,3,5,6,8,9' else drawLine(False)
drawLine(True) if dight in '0,2,6,8' else drawLine(False)
left(90)
drawLine(True) if dight in '0,4,5,6,8,9' else drawLine(False)
drawLine(True) if dight in '0,2,3,5,6,7,8,9' else drawLine(False)
drawLine(True) if dight in '0,1,2,3,4,7,8,9' else drawLine(False)
if dight in '-':
pendown()
fd(40)
penup()
fd(-40)
left(180)
penup()
fd(20)
# gmtime获取格林尼治时间 localtime获取本地时间
timestr=strftime('%y-%m-%d-%H-%M-%S',localtime())
print(timestr)
setup(1600, 350, 0, 200)
penup()
fd(-650)
pensize(5)
pencolor('red')
for i in timestr:
drawDigit(i)
done()
'''
import turtle as t
import time
def drawGap(): #绘制数码管间隔
t.penup()
t.fd(5)
def drawLine(draw): #绘制单段数码管
drawGap()
t.pendown() if draw else t.penup()
t.fd(40)
drawGap()
t.right(90)
def drawDigit(d): #根据数字绘制七段数码管
drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,6,8] else drawLine(False)
t.left(90)
drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
t.left(180)
t.penup()
t.fd(20)
def drawDate(date):
t.pencolor("red")
for i in date:
drawDigit(eval(i))
def main():
t.setup(800, 350, 200, 200)
t.penup()
t.fd(-300)
t.pensize(5)
drawDate(time.strftime('%Y%m%d',time.gmtime()))
t.done()
main()