最近迷上了Python,要说为什么呢?Python语法简单,功能强大,有广泛的第三方库能快速编程实现自己的想法(无需重复去造轮子)。就像某位前辈说的:“人生苦短,学会偷懒…”,配置好sublime text照着网上教程直接上手写个小程序入门。
先插张图,计算机技术的演进过程,总结的还是挺到位的。
安装好Python环境,引入需要用到的库:
import threadingimport turtleimport time
引入time库后使用localtime()方法可以获取当前服务器时间,然后使用turtle库绘制7段数码管时钟。
now = time.localtime() # 返回服务器时间 print(now)print(time.strftime("%Y-%m-%d %H:%M:%S", now)) # 转成字符串# %y 两位数的年份表示(00-99)# %Y 四位数的年份表示(000-9999)# %m 月份(01-12)# %d 月内中的一天(0-31)# %H 24小时制小时数(0-23)# %I 12小时制小时数(01-12)# %M 分钟数(00=59)# %S 秒(00-59)# %a 本地简化星期名称# %A 本地完整星期名称# %b 本地简化的月份名称# %B 本地完整的月份名称# %c 本地相应的日期表示和时间表示# %j 年内的一天(001-366)# %p 本地A.M.或P.M.的等价符# %U 一年中的星期数(00-53)星期天为星期的开始# %w 星期(0-6),星期天为星期的开始# %W 一年中的星期数(00-53)星期一为星期的开始# %x 本地相应的日期表示# %X 本地相应的时间表示# %Z 当前时区的名称# %% %号本身
绘制数码管函数:
# 绘制单根数码管def drawLine(draw): turtle.pensize(3) turtle.pu turtle.fd(3) if draw: turtle.pd() else: turtle.pu() turtle.fd(24) turtle.pu() turtle.fd(3) turtle.right(90) # 根据数字绘制数码管def drawNum(num, color): turtle.colormode(255) turtle.color(eval(color)) # 第一条线 if num in [2, 3, 4, 5, 6, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 1, 3, 4, 5, 6, 7, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 2, 3, 5, 6, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 2, 6, 8]: drawLine(True) else: drawLine(False) turtle.left(90) if num in [0, 4, 5, 6, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 2, 3, 5, 6, 7, 8, 9]: drawLine(True) else: drawLine(False) if num in [0, 1, 2, 3, 4, 7, 8, 9]: drawLine(True) else: drawLine(False) turtle.pu() turtle.left(180) turtle.fd(30) # 绘制后面数字间隔位置 turtle.update()
一个7段数码管全部绘制(显示数字8)顺序如下,根据显示的数字来决定哪些需要绘制,哪些只是抬起画笔移动不进行绘制,所以绘制单段数码管的函数内设置了一个参数draw。
新闻热点
疑难解答