Python 使用turtle库和函数绘制七段数码时间

Python 使用turtle库和函数绘制七段数码时间,第1张

Python 使用turtle库和函数绘制七段数码时间

Python turtle库七段数码时间绘制
  • 七段数码时间效果
    • 步骤一 绘制单个数码时间管
    • 步骤二 根据数字绘制七段数码管
    • 步骤三 获取要输出的数字
    • 步骤四 添加主函数

初学python,下面是在mooc网上嵩天嵩老师教的turtle库和函数的使用方法,我觉得挺有趣的,所以写了这篇博客来记录自己学习的过程和收获,也能够分享给初学python turtle库和函数的友友们看看。

七段数码时间效果

步骤一 绘制单个数码时间管
def drawLine(draw): #绘制单段数码管
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    turtle.right(90)

七段数码由七个基本线条组成,它们也可以有自己的固定顺序,下面是我自己所用到的基本线的顺序

步骤二 根据数字绘制七段数码管
def drawDights(dights): #根据数字绘制七段数码管
    drawLine(True) if dights in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if dights in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)
    drawLine(True) if dights in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if dights in [0, 2, 6, 8] else drawLine(False)
    turtle.left(90)
    drawLine(True) if dights in [0, 4, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if dights in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
    drawLine(True) if dights in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
    turtle.left(180)
    turtle.penup() #为绘制后续确定数字位置
    turtle.fd(20)
步骤三 获取要输出的数字
def drawDate(date): #date为日期,格式为'%Y-%m=%d+',记得在头部添加time库
    turtle.pencolor("red")
    for i in date:
        if i == '-':   #根据获取字符判断年月日
            turtle.write('年', font=("Arial", 32, 'normal'))
            turtle.pencolor("green")
            turtle.fd(40) #为绘制后续数字确定位置
        elif i == '=':
            turtle.write('月', font=("Arial", 32, 'normal'))
            turtle.pencolor("blue")
            turtle.fd(40)
        elif i == '+':
            turtle.write('日', font=("Arial", 32, 'normal'))
        else:
            drawDights(eval(i)) #通过eval()函数将数字变为整数
步骤四 添加主函数
def main():  #设置初始值
    turtle.setup(800, 350, 200, 200)
    turtle.penup()
    turtle.fd(-350)
    turtle.pensize(5)
    drawDate(time.strftime('%Y-%m=%d+', time.gmtime())) #获取系统当前时间
    turtle.hideturtle() #设置turtle不可见
    turtle.done() #手动关闭串口


main()

分享就到这里啦,感兴趣的友友可以去试一下,希望初学python,看到这篇的友友能从中找到乐趣,喜欢的友友点个赞吧 ,最后有哪里说的不对的希望友友提出意见。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5659877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存