代码超简介,外加详细注释(每行的哦)python-turtle库实现数码管

朝向解析的,小伙伴们,给个小赞赞哦!!!

import turtle#导入turtle

def drawLine(draw):     #绘制数码管的每一段
    if(draw):#如若为真,则需要画
        turtle.down()#l落下画笔
    else:
        turtle.up()#抬起画笔

    turtle.fd(40)#移动40像素
    turtle.right(90)#画笔向右旋转90度
def drawDigit(i):
    #该数组内包含数码管个各个分支,依次为(中,右下,下,左下,左上,上,右上)
    str1=([2,3,4,5,6,8,9],[0,1,3,4,5,6,7,8,9],
          [0,2,3,5,6,8],[0,2,6,8],[0,4,5,6,8,9],
          [0,2,3,5,6,7,8,9],[0,1,2,3,4,7,8,9])
    for j in range(len(str1)):#绘制数码各个分支,并且判断该分支是否需要打印显示
        if i in str1[j]:
            drawLine(True)#如果i在[2,3,4,5,6,8,9]里面则调用drawLine并且传送参数True
        else:
            drawLine(False)#反之,则也调用该函数,但是传送参数为False
        if j==3:
            turtle.left(90)#向左旋转90,(因为第三步和第四步之间并不需要改变方向)
    turtle.right(180)#画完该数字后向右转100度
    turtle.penup()#抬起画笔
    turtle.fd(20)#向右移动20像素

def main():
    s='20181010'
    turtle.setup(800,350,200,200)#定义画板大小
    turtle.speed(100)#定义画笔的打印速度
    turtle.pensize(5)#定义画笔字体的大小a
    turtle.penup()#抬笔
    turtle.fd(-300)#画笔向前移动-300的距离
    turtle.hideturtle()#隐藏画笔的形状
    for i in s:#便力字符转s中的每个数字
        drawDigit(eval(i))#调用drawDigit函数,并传递i
    turtle.mainloop()#画笔画完以后并不会直接退出该程序,而是一直循环,直至关闭该窗口
    turtle.done()

main()

猜你喜欢

转载自blog.csdn.net/vs20s18/article/details/106054668
今日推荐