2018-12-08 七段数码管

七段数码管版本一

#SevenDigitsDrawV1.py

importturtle

defdrawLine(draw):   #绘制单段数码管

    turtle.pendown() ifdraw elseturtle.penup()

    turtle.fd(40)

    turtle.right(90)

defdrawDigit(digit): #根据数字绘制七段数码管

    drawLine(True) ifdigit in[2,3,4,5,6,8,9] elsedrawLine(False)

    drawLine(True) ifdigit in[0,1,3,4,5,6,7,8,9] elsedrawLine(False)

    drawLine(True) ifdigit in[0,2,3,5,6,8,9] elsedrawLine(False)

    drawLine(True) ifdigit in[0,2,6,8] elsedrawLine(False)

    turtle.left(90)

    drawLine(True) ifdigit in[0,4,5,6,8,9] elsedrawLine(False)

    drawLine(True) ifdigit in[0,2,3,5,6,7,8,9] elsedrawLine(False)

    drawLine(True) ifdigit in[0,1,2,3,4,7,8,9] elsedrawLine(False)

    turtle.left(180)

    turtle.penup()

    turtle.fd(20) 

defdrawDate(date):  #获得要输出的数字

    fori indate:

        drawDigit(eval(i))  #通过eval()函数将数字变为整数

defmain():

    turtle.setup(800, 350, 200, 200)

    turtle.penup()

    turtle.fd(-300)

    turtle.pensize(5)

    drawDate('20181010')

    turtle.hideturtle()

    turtle.done()

main()


七段数码管版本二

#SevenDigitsDrawV2.py

importturtle, time

defdrawGap(): #绘制数码管间隔

    turtle.penup()

    turtle.fd(5)

defdrawLine(draw):   #绘制单段数码管

    drawGap()

    turtle.pendown() ifdraw elseturtle.penup()

    turtle.fd(40)

    drawGap()

    turtle.right(90)

defdrawDigit(d): #根据数字绘制七段数码管

    drawLine(True) ifd in[2,3,4,5,6,8,9] elsedrawLine(False)

    drawLine(True) ifd in[0,1,3,4,5,6,7,8,9] elsedrawLine(False)

    drawLine(True) ifd in[0,2,3,5,6,8,9] elsedrawLine(False)

    drawLine(True) ifd in[0,2,6,8] elsedrawLine(False)

    turtle.left(90)

    drawLine(True) ifd in[0,4,5,6,8,9] elsedrawLine(False)

    drawLine(True) ifd in[0,2,3,5,6,7,8,9] elsedrawLine(False)

    drawLine(True) ifd in[0,1,2,3,4,7,8,9] elsedrawLine(False)

    turtle.left(180)

    turtle.penup()

    turtle.fd(20)

defdrawDate(date):

    turtle.pencolor("red")

    fori indate:

        ifi =='-':

            turtle.write('年',font=("Arial", 18, "normal"))

            turtle.pencolor("green")

            turtle.fd(40)

        elifi =='=':

            turtle.write('月',font=("Arial", 18, "normal"))

            turtle.pencolor("blue")

            turtle.fd(40)

        elifi =='+':

            turtle.write('日',font=("Arial", 18, "normal"))

        else:

            drawDigit(eval(i))

defmain():

    turtle.setup(800, 350, 200, 200)

    turtle.penup()

    turtle.fd(-350)

    turtle.pensize(5)

#    drawDate('2018-10=10+')

    drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))

    turtle.hideturtle()

    turtle.done()

main()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容