tutle动态画图七段数码管显示时间,干货好玩

Posted 诗一样的代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tutle动态画图七段数码管显示时间,干货好玩相关的知识,希望对你有一定的参考价值。

hello大家好,今天我又发现了个有趣的小玩意。我是专写有趣小玩意的老诗。
老规矩,先上效果图:

了解七段数码

不知道你们上大学的时候,有没有上过一门课,叫做逻辑电路。学软件的小伙伴不太确定你们有没有了解。但是学硬件的小伙伴肯定是不陌生的。今天的话题是七段数码管显示时间。


先上图吧,这些生活中显示数字的机器,其实就是一个个发光的小灯泡结合而成的。通过控制灯泡的开关,我们就可以控制电子屏幕上显示的数字。


我今天要做的是,在python中使用tutle进行画图,模拟这个七段数码管在机器中的运转。

了解tutle

海龟绘图是python很强大的库,它可以用来画各种各样的图样。甚至有人可以用它来做具体的ui设计。详细内容如下图所示:


有需要的小伙伴可以去他们的官方api进行学习 :传送门

开始写代码

我们先封装一个函数,用于根据数字显示图片

def drawdigit(digit):#根据数值绘制七段数码管
    drawline(True) if digit in [2,3,4,5,6,8,9] else drawline(False)
    drawline(True) if digit in [0,1,3,4,5,6,7,8,9] else drawline(False)
    drawline(True) if digit in [0,2,3,5,6,8,9] else drawline(False)
    drawline(True) if digit in [0,2,6,8] else drawline(False)
    t.left(180)
    t.pu()#为绘制后续数字确定位置
    t.fd(20)#为绘制后续数字确定位置

实时提取本地时间,再将时间转换为数字

def drawdate(date):#获取日期
    t.pencolor("green")
    for i in date:
        if i == '年':
            t.write('年',font = ("Arial",18,"normal"))
            t.pencolor("blue")
            t.fd(40)
        elif i == "月":
            t.write('月',font = ("Arial",18,"normal"))
            t.pencolor("yellow")
            t.fd(40)
        elif i == "日":
            t.write('日',font = ("Arial",18,"normal"))
            t.pencolor("red")
            t.fd(40)
        elif i == "时":
            t.write('时',font = ("Arial",18,"normal"))
            t.pencolor("red")
            t.fd(40)
        elif i == "分":
            t.write('分',font = ("Arial",18,"normal"))
            t.pencolor("yellow")
            t.fd(40)
        elif i == "秒":
            t.write('秒',font = ("Arial",18,"normal"))
            t.pencolor("black")
            t.fd(40)
        else:
            drawdigit(eval(i))#通过eval()将数字变成整数

有需要拿完整源码的话,请移步到公众号:诗一样的代码。既然进来了,原创不易。小伙伴来个一键三连呗。

以上是关于tutle动态画图七段数码管显示时间,干货好玩的主要内容,如果未能解决你的问题,请参考以下文章

Python实现七段数码管时钟(动态刷新版)

七段数码管显示原理研究

python turtle 绘制七段数码管以及14段数码管显示字母和时间

Python七段数码显示管

Logisim之4位全加器实现以及七段数码管显示

仿真软件proteus构建七段数码管显示数字0-9实验