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动态画图七段数码管显示时间,干货好玩的主要内容,如果未能解决你的问题,请参考以下文章