7段数码管绘制python实验

实验代码如下:

 1 import turtle
 2 import time
 3  
 4 def drawGap(): #设置一个画笔抬起,使得每段管之间产生间隔
 5     turtle.penup()
 6     turtle.forward(5)
 7  
 8 def drawLine(draw):
 9     drawGap()
10     turtle.pendown() if draw else turtle.penup()
11     turtle.forward(40)
12     drawGap()
13     turtle.right(90)
14  
15 def drawDigit(digit):
16     drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
17     drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
18     drawLine(True) if digit in [0,2,3,5,6,8,9]else drawLine(False)
19     drawLine(True) if digit in [0,2,6,8] else drawLine(False)
20     turtle.left(90)
21     drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
22     drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
23     drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
24     turtle.left(180)
25     turtle.penup()
26     turtle.forward(20)
27  
28 def drawDate(date):
29     for i in date:
30         turtle.pencolor("cyan")
31         turtle.speed(10)
32         if i=="-":
33             turtle.pencolor("red")
34             turtle.write("",font=("Arial",30,"normal"))
35             turtle.forward(40)
36         elif i=="=":
37             turtle.pencolor("purple")
38             turtle.write("",font=("Arial",30,"normal"))
39             turtle.forward(40)
40         elif i == "+":
41             turtle.pencolor("blue")
42             turtle.write("", font=("Arial", 30, "normal"))
43         elif i == "!":
44             turtle.pencolor("orange")
45             turtle.penup()
46             turtle.forward(100)
47         elif i == "@":
48             turtle.pencolor("yellow")
49             turtle.write("", font=("Arial", 30, "normal"))
50             turtle.forward(40)
51         elif i == "#":
52             turtle.pencolor("pink")
53             turtle.write("", font=("Arial", 30, "normal"))
54             turtle.forward(40)
55         elif i == "":
56             turtle.pencolor("green")
57             turtle.write("", font=("Arial", 30, "normal"))
58         else:
59             drawDigit(eval(i))
60  
61 def main(num):
62     turtle.setup(1400,300,200,200)
63     turtle.pensize(5)
64     turtle.penup()
65     turtle.forward(-650)
66     drawDate(num)
67     turtle.hideturtle()
68     turtle.done()
69  
70 def getTime():
71     t = time.localtime() #获取本地时间
72     tt=time.strftime("%Y-%m=%d!%H@%M#%S¥", t) #格式化本地时间输出
73     return tt
74  
75 num=getTime()
76 main(num)

运行结果如下:

 

posted @ 2022-12-08 14:35  BLUETXY  阅读(223)  评论(0)    收藏  举报