"七段数码管"绘制

基本思路

步骤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库获得系统当前时间

第三步: 增加不同颜色年月日标记

先来看一下最终展示成果


放源码:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容