python—繪制七段數碼管


 

 

 

import turtle,time
def drawGap():             #繪制線與線的間距
    turtle.penup()
    turtle.fd(6)

def drawLine(draw): #繪制數碼管的每一條線 drawGap() #當筆落下開始畫時,空6個像素 turtle.pendown() if draw else turtle.penup() #判斷True為畫,False為抬筆浮空 turtle.fd(40) #向前畫40像素 drawGap() #畫完后抬筆,浮空時,空6個像素 turtle.right(90) #畫完線后,指標向右旋轉90度
def drawDigit(digit): #繪制數碼管的每個數字 # if digit in [2,3,4,5,6,8,9]: # drawLine(True) # else: # drawLine(False) 這個是下面的清晰版本,方便理解。下面是寫在一行的格式。 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)
  #上面是畫完4條線,指標回到開始位置,需要向左旋轉指標,才能向上畫線 turtle.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)
  #共七條線全部畫完 turtle.left(180) #調整指標,畫完指標是 < 這個方向,需要向左或向右旋轉180度,畫第二個數字 turtle.penup() turtle.fd(20) #浮空向前移動20像素(也就是兩個數字間的距離是20像素)
def drawDate(date): #繪制日期 turtle.pencolor("red") #相當於修改了默認顏色為紅色 for i in date: #下面的判斷主要根據你輸入或傳過來的格式符號相對應(我這里傳的系統當前時間,例:2019-4=23+) if i == '-': turtle.write('年',font=("Arial",18,"normal")) #通過write 設置字體和字號 turtle.pencolor("green") #顏色修改 turtle.fd(40) elif i == '=': turtle.write('月',font=("Arial",18,"normal")) turtle.pencolor("blue") turtle.fd(40) elif i == '+': turtle.write('日',font=("Arial",18,"normal")) else: drawDigit(eval(i)) def main(): turtle.setup(800,800,200,200) turtle.penup() turtle.fd(-200) turtle.pensize(5) drawDate(time.strftime('%Y-%m=%d+',time.gmtime())) #設置時間格式 turtle.hideturtle() #畫完后隱藏指標 #turtle.showturtle() #相反,畫完后顯示指標 turtle.done() time.sleep(1) main()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM