1. 程式人生 > 其它 >7段數碼管繪製python實驗

7段數碼管繪製python實驗

實驗程式碼如下:

 1 import turtle, time
 2 def drawGap():
 3     turtle.penup()
 4     turtle.fd(5)
 5 def drawLine(draw):      #繪製單段數碼管
 6     drawGap()
 7     turtle.pendown() if draw else turtle.penup()    #如果draw為真值則畫,如果不是則抬起畫筆移動
 8     turtle.fd(40)     #向該方向行進40畫素
 9     drawGap()
10     turtle.right(90)  #
轉向90度 11 def drawDigit(digit): #根據數字繪製七段數碼管 12 drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) 13 drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False) 14 drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False) 15 drawLine(True) if digit in [0,2,6,8] else
drawLine(False) 16 turtle.left(90) 17 drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False) 18 drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False) 19 drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False) 20 turtle.left(180) 21 turtle.penup() #為繪製後續數字確定位置
22 turtle.fd(20) #... 23 def drawDate(date): #獲得要輸出的數字,日期格式為:'%Y-%m=%d+' 24 turtle.pencolor("red") 25 for i in date: 26 if i == '-': 27 turtle.write('',font=("Arial",18,"normal")) 28 turtle.pencolor("green") 29 turtle.fd(40) 30 elif i == '=': 31 turtle.write('',font=("Arial",18,"normal")) 32 turtle.pencolor("blue") 33 turtle.fd(40) 34 elif i == '+': 35 turtle.write('',font=("Arial",18,"normal")) 36 else: 37 drawDigit(eval(i)) #通過eval()函式將數字變為整數 38 def main(): 39 turtle.setup(800, 350, 200, 200) #設定畫布大小 40 turtle.penup() 41 turtle.fd(-300) #當前畫筆初始繪製所在位置 42 turtle.pensize(5) 43 drawDate(time.strftime('%Y-%m=%d+',time.gmtime())) #呼叫函式 44 turtle.hideturtle() 45 turtle.done() 46 main()

執行結果如下: