七段数码管

import turtle, datetime
def drawGap():#绘制数码管间隔
    turtle.penup()
    turtle.fd(5)
def drawLine(draw):#绘制单段数码管
    drawGap()
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    drawGap()
    turtle.right(90)
def drawDigit(d):#根据数字绘制七段数码管
    drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
    drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True) if d in [0,2,6,8] else drawLine(False)
    turtle.left(90)
    drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
    drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)
def drawDate(date):
        turtle.pencolor("red")
        for i in date:
            if i=='-':
                turtle.write('',font=("Arial",18,"normal"))
                turtle.pencolor("green")
                turtle.fd(60)
            elif i=='=':
                turtle.write('',font=("Arial",18,"normal"))
                turtle.pencolor("blue")

                turtle.fd(60)
            elif i=='+':
                turtle.write('',font=("Arial",18,"normal"))
                turtle.pencolor("yellow")
                turtle.fd(40)
                #换行输出
                turtle.seth(-90)
                turtle.fd(100)
                turtle.seth(180)
                turtle.fd(700)
                turtle.seth(-90)
                turtle.fd(40)
                turtle.seth(0)
                turtle.fd(40)
            elif i=='*':
                turtle.write('',font=("Arial",18,"normal"))
                turtle.pencolor("pink")
                turtle.fd(60)
            elif i=='/':
                turtle.write('',font=("Arial",18,"normal"))
                turtle.pencolor("purple")
                turtle.fd(60)
            elif i=='':
                turtle.write('',font=("Arial",18,"normal"))
            else:
                drawDigit(eval(i))
def main():
    turtle.setup(1000,800,200,200)
    turtle.penup()
    turtle.fd(-350)
    turtle.pensize(5)
    drawDate(datetime.datetime.now().strftime('%Y-%m=%d+%H*%M/%S!'))
    turtle.hideturtle()
main()

posted @ 2020-10-18 23:51  εε  阅读(565)  评论(0)    收藏  举报