5.2 Python数码管绘制举一反三:数码管倒计时

博客地址:https://ziyue.tech

在利用python的turtle库绘制数码管的基础上,设计数码管倒计时程序。

import turtle as t

def drawGap():
    t.penup()
    t.fd(5)
def drawLine(draw):
    drawGap()
    t.pendown() if draw else t.penup()
    t.fd(40)
    drawGap()
    t.right(90)
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(90)
    drawLine(True) if digit in [0, 4, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
    t.right(180)
    t.penup()
    t.fd(20)
def drawDate():
    for i in range(10, -1, -1):
        t.hideturtle()
        for num in str(i):
            drawDigit(eval(num))
        l = len(str(num)) * (5+40+5+20)
        t.penup()
        t.bk(l)
        t.clear()
def main():
    t.penup()
    t.fd(-100)
    t.pensize(5)
    drawDate()
    t.write("BOOM !!!", font=("Arial", 50, "bold"))
    t.hideturtle()
    t.done()
main()


版权声明:本文为bytestudio原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。