7段数码管绘制

 

请学号最后一个尾号为(2,3)的同学。画出系统时间。具体包括:年,月,日,小时,分。

1.以上不同的部分要用不同的颜色区别开来;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

2. 以上部分,要注明是年月日。例如:2020年,这个“年”字必须显示出来。

 1 # 七段数管码绘制
 2 # 朱桦莹 03
 3 
 4 import turtle
 5 import datetime
 6 def drawGap():   # 绘制数码管间隔
 7     turtle.penup()
 8     turtle.fd(5)
 9 def drawLine(draw):  # 绘制单端数码管
10     drawGap()
11     turtle.pendown() if draw else turtle.penup()
12     turtle.fd(40)
13     drawGap()
14     turtle.right(90)
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 def drawDate(date):   # 获得想要输出的数字
28     turtle.pencolor("red")
29     for i in date:
30         if i == '-':
31             turtle.write('', font=("Arial", 18, "normal"))
32             turtle.pencolor("green")
33             turtle.fd(40)
34         elif i == '=':
35             turtle.write('', font=("Arial", 18, "normal"))
36             turtle.pencolor("blue")
37             turtle.fd(40)
38         elif i == '+':
39             turtle.write('', font=("Arial", 18, "normal"))
40             turtle.fd(40)
41         elif i == '*':
42             turtle.write('小时', font=("Arial", 18, "normal"))
43             turtle.fd(50)
44         elif i == '/':
45             turtle.write('', font=("Arial", 18, "normal"))
46             turtle.fd(40)
47         else:
48             drawDigit(eval(i))
49 def main():
50     turtle.setup(1300, 350, 150, 200)
51     turtle.speed(35)  # 绘制速度
52     turtle.penup()
53     turtle.fd(-500)
54     turtle.pensize(5)
55     drawDate(datetime.datetime.now().strftime('%Y-%m=%d+%H*%M/'))
56     turtle.hideturtle()
57     turtle.done()
58 main()
59 print("朱桦莹 03")

输出:

 

posted @ 2023-11-21 11:47  尘雯时  阅读(15)  评论(0编辑  收藏  举报