Python具有强大的数据处理功能,这一章我们就讲解它的冰山一角,利用库函数获取系统时间并用书那关的形式进行展示、

源代码如下:
| #SevenDigitsDrawV2.py | |
| import turtle, time | |
| def drawGap(): #绘制数码管间隔 | |
| turtle.penup() | |
| turtle.fd(5) | |
| def drawLine(draw): #绘制单段数码管 | |
| drawGap() | |
| turtle.pendown() if draw else turtle.penup() | |
| turtle.fd(40) | |
| drawGap() | |
| turtle.right(90) | |
| def drawDigit(d): #根据数字绘制七段数码管 | |
| drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False) | |
| drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False) | |
| drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False) | |
| drawLine(True) if d in [0,2,6,8] else drawLine(False) | |
| turtle.left(90) | |
| drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False) | |
| drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False) | |
| drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False) | |
| turtle.left(180) | |
| turtle.penup() | |
| turtle.fd(20) | |
| def drawDate(date): | |
| turtle.pencolor("red") | |
| for i in date: | |
| if i == '-': | |
| turtle.write('年',font=("Arial", 18, "normal")) | |
| turtle.pencolor("green") | |
| turtle.fd(40) | |
| elif i == '=': | |
| turtle.write('月',font=("Arial", 18, "normal")) | |
| turtle.pencolor("blue") | |
| turtle.fd(40) | |
| elif i == '+': | |
| turtle.write('日',font=("Arial", 18, "normal")) | |
| else: | |
| drawDigit(eval(i)) | |
| def main(): | |
| turtle.setup(800, 350, 200, 200) | |
| turtle.penup() | |
| turtle.fd(-350) | |
| turtle.pensize(5) | |
| # drawDate('2018-10=10+') | |
| drawDate(time.strftime('%Y-%m=%d+',time.gmtime())) #gmtime()获取系统时间 | |
| turtle.hideturtle() #隐藏箭头显示 | |
| turtle.done() | |
| main() |
我们采用了模块化的编程思想,将其分别拆分为drawGap()--数码管间隔、drawLine()--绘制单段数码管、drawDigit()--绘制七段数码管、drawDate---系统时间格式化,并以main()函数启动程序运行。
赞赏是对博主最大的支持!

版权声明:
本文中所有文字、图片版权均属本人所有,如需转载请注明来源
