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)
运行结果如下:


浙公网安备 33010602011771号