很多时候学习一门语言最有成就感的事就是利用它做出自己想要的东西,包括小编也不例外,加入 Python 技术作者团队也有大半年之久了,今天突发奇想做了一个数码管式的时间轴,以此来怀念我和Python技术团队奋斗的时光。废话不多说,直接讲思路上代码,Let’s go go go!
绘制数码管
其实平时我们在一些 LED 灯上看到的数字都是由一条条数码管组成的,最常见的是红绿灯数字,首先咱们先将单个数码管绘制出来,代码如下:
def drawGap(): #绘制数码管间隔 #提起画笔 tl.pu() # 数码管间隔 tl.fd(9) def drawLine(draw): #绘制单段数码管 drawGap() tl.pendown() \ if draw else tl.penup() tl.fd(40) # 开始绘画 drawGap() tl.right(90)
当然以上代码不会出任何结果,就像我们要画画拿出一张白纸是一样的道理。 接下来我们需要构思 0-9 的数码管要怎么形成?大家一起来想想(想想红绿灯的数字跳转是怎么形成的)…… 其实红绿灯的数字就是由数码管来显示的,数字 8 将数码管全部填满,它由 7 小段数码管构成,其它数字做相应数码管的加减;首先我们需要先绘制7 条数码管,思路清晰后我们需要打草稿上代码,部分代码如下:
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,