代碼超簡介,外加詳細註釋(每行的哦)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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章