7段数码管绘制

 1 """7段数码管绘制"""
 2 
 3 import turtle, datetime
 4 def drawGap():  # 绘制数码管间隔
 5     turtle.penup()
 6     turtle.fd(5)
 7 
 8 def drawLine(draw):  # 绘制单段数码管
 9     drawGap()
10     turtle.pendown() if draw else turtle.penup()
11     turtle.fd(40)
12     drawGap()
13     turtle.right(90)
14 
15 def drawDigit(d):  # 根据数字绘制七段数码管
16     drawLine(True) if d in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)#日中间那一横
17     drawLine(True) if d in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)#日右下角那一竖
18     drawLine(True) if d in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)#日下面那一横
19     drawLine(True) if d in [0, 2, 6, 8] else drawLine(False)#日左下角那一竖
20     turtle.left(90)
21     drawLine(True) if d in [0, 4, 5, 6, 8, 9] else drawLine(False)#日左上角那一竖
22     drawLine(True) if d in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)#日上面那一横
23     drawLine(True) if d in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)#日右上角那一竖
24     turtle.left(180)
25     turtle.penup()
26     turtle.fd(20)
27 
28 
29 def drawDate(date):
30     turtle.pencolor("red")
31     for i in date:
32         if i == '-':
33             turtle.write('', font=("Arial ", 36, "normal"))
34             turtle.pencolor("green")
35             turtle.fd(50)
36         elif i == '=':
37             turtle.write('', font=("Arial", 36, "normal"))
38             turtle.pencolor("blue")
39             turtle.fd(50)
40         elif i == '+':
41             turtle.write('', font=("Arial", 36, "normal"))
42             turtle.pencolor("yellow")
43             turtle.fd(50)
44         elif i == '*':
45             turtle.write('', font=("Arial", 36, "normal"))
46             turtle.pencolor("purple")
47             turtle.fd(50)
48         elif i == '/':
49             turtle.write('', font=("Arial", 36, "normal"))
50             turtle.pencolor("gold")
51             turtle.fd(50)
52         elif i == '$':
53             turtle.write('', font=("Arial", 36, "normal"))
54         else:
55             drawDigit(eval(i))
56 
57 def main():
58     turtle.speed(30)
59     turtle.setup(1400,350,200,200)
60     turtle.penup()
61     turtle.fd(-650)
62     turtle.pensize(5)
63     drawDate(datetime.datetime.now().strftime('%Y-%m=%d+%H*%M/%S$'))
64     turtle.hideturtle()
65     turtle.done()
66 main()

 

 苒若

3012

posted @ 2021-10-24 11:37  苒若  阅读(196)  评论(0)    收藏  举报