python 七段数码管
1 import turtle,time 2 def drawGap(): 3 turtle.penup() 4 turtle.fd(5) 5 def drawLine(draw): 6 drawGap() 7 turtle.pendown() if draw else turtle.penup() 8 turtle.fd(40) 9 drawGap() 10 turtle.right(90) 11 def drawDigit(digit): 12 drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) 13 drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False) 14 drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False) 15 drawLine(True) if digit in [0,2,6,8] else drawLine(False) 16 turtle.left(90) 17 drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False) 18 drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False) 19 drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False) 20 turtle.left(180) 21 turtle.penup() 22 turtle.fd(20) 23 def drawDate(date): 24 turtle.pencolor("red") 25 for i in date: 26 if i =='-': 27 turtle.write('年',font=("Arial",18,"normal")) 28 turtle.pencolor("green") 29 turtle.fd(40) 30 elif i=='=': 31 turtle.write('月',font=('Arial',18,"normal")) 32 turtle.pencolor("blue") 33 turtle.fd(40) 34 elif i=='+': 35 turtle.write('日',font=('Arial',18,"normal")) 36 else: 37 drawDigit(eval(i)) 38 def main(): 39 turtle.setup(800,350,200,200) 40 turtle.penup() 41 turtle.fd(-300) 42 turtle.pensize(5) 43 drawDate(time.strftime('%Y-%m=%d+',time.gmtime())) 44 turtle.hideturtle() 45 turtle.done() 46 main()
运行结果:


七段数码管是先从一个数字开始写,就是一个右图从序号①开始,每次向右转,需要的就落笔,不需要就抬笔。这样完成一个数字后,可以进阶,写两个数字,甚至更多......再加上‘年月日’字样,就是日期了,再获取一下机子当前时间,就能编译出能获得当前时间的程序。可以看一下我写的代码。
浙公网安备 33010602011771号