基本思路
步骤1 : 回执单个数字对应的数码管
步骤2 : 获得一串数字,绘制对应的数码管
步骤3 : 获得当前系统时间,绘制对应的数码管
展示源码:
import turtle
def drawLine(draw):# 绘制单段数码管
turtle.pendown()if draw else turtle.penup()
turtle.fd(40)
turtle.right(90)
def drawDight(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)
turtle.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)
turtle.left(180)
turtle.penup()# 为绘制后续数字确定位置
turtle.fd(20)# 为绘制后续数字确定位置
def drawData(data):# 获得要输出的数字
for iin data:
drawDight(eval(i))# 通过eval()函数将数字变为整数
def main():
turtle.Screen().setup(800,350,200,200)
turtle.penup()
turtle.fd(-300)
turtle.pensize(5)
drawData("20210411")
turtle.hideturtle()# 隐藏小海龟画笔
turtle.done()
main()
结果图:
那么怎么把我们的系统时间和数码管联合起来呢?
第一步: 为了美观我们让数码管的每一个线条之间存在一些间隔,增加一个drawGap函数
第二步: 使用TIme库获得系统当前时间
第三步: 增加不同颜色年月日标记
先来看一下最终展示成果
放源码: