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()