1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# 倒计时
# 模块化思维解决问题
import turtle as t
#t.speed(10) 调节画笔快慢
def drawGap():#数码管间隔
t.penup()
t.fd(5)
def drawline(draw):#绘制线条
drawGap()
t.pendown() if draw else t.penup() #draw真假两种取值
t.fd(40)
drawGap()
t.right(90)
def drawDigit(digit):
#绘制下半部分
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)
#绘制上半部分
t.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)
#调整方向 因为函数drawline每次都会右转90°
t.right(180)
t.penup()
t.fd(20)
def drawDate():
for i in range(10, -1, -1):
t.hideturtle()
for num in str(i):
drawDigit(eval(num))
l = len(str(num)) * (5+40+5+20) #一个字符长度是1
t.penup()
t.bk(l)
t.clear()
def main():
t.setup(800,350,200,200) #画布宽高,距屏幕左上角位置
t.penup()
t.fd(-300)
t.pensize(5)
drawDate()
t.write("BOOM !!!", font=("Arial", 50, "bold"))#字体 大小 加粗
t.hideturtle()
t.done()
main()
|