介绍
这篇文章将为大家详细讲解有关python实现简易数码时钟的案例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
先插张图,计算机技术的演进过程,总结的还是挺到位的。
安装好python环境,引入需要用到的库:
import 线程 import 乌龟 import 时间
引入时间库后使用本地时间()方法可以获取当前服务器时间,然后使用龟库绘制7段数码管时钟。
你=,time.localtime(), #,返回服务器时间 , 打印(现在) 打印(time.strftime (“Y % - % - % d % H: % m: % S",,)) , #,转成字符串 #,% y 两位数的年份表示(00 - 99) #,% Y 四位数的年份表示(000 - 9999) #,% m 月份(01-12) #,% d 月内中的一天(0-31) #,% H 24小时制小时数(0-23) #,%小姐:12个小时制小时数(01-12) #,% M 分钟数(00=59) #,% S 秒(00-59) #,% a 本地简化星期名称 #,% A 本地完整星期名称 #,% b 本地简化的月份名称 #,% B 本地完整的月份名称 #,% c 本地相应的日期表示和时间表示 #,% j 年内的一天(001 - 366) #,% p 本地上午或下午的等价符 #,% U 一年中的星期数(00-53)星期天为星期的开始 #,% w 星期(0 - 6),星期天为星期的开始 #,% W 一年中的星期数(00-53)星期一为星期的开始 #,% x 本地相应的日期表示 #,% X 本地相应的时间表示 #,% Z 当前时区的名称 #,% %,%号本身
绘制数码管函数:
#,绘制单根数码管 def 画直线(画): ,turtle.pensize (3) ,turtle.pu ,turtle.fd (3) ,if 画: ,turtle.pd () ,其他的: ,turtle.pu () , ,turtle.fd (24) ,turtle.pu () ,turtle.fd (3) ,turtle.right (90) , , #,根据数字绘制数码管 def drawNum (num,颜色): ,turtle.colormode (255) 颜色,turtle.color (eval ()) ,#第一条线 ,if num 拷贝[2,3,4,5,6,8,9): ,画直线(真正的) ,其他的: ,画直线(假) , ,if num 拷贝(0,1,3,4,5,6,7,8,9): ,画直线(真正的) ,其他的: ,画直线(假) , ,if num 拷贝[0,,2,,3,5,6,8,9): ,画直线(真正的) ,其他的: ,画直线(假) , ,if num 拷贝[0,,2,,,,8]: ,画直线(真正的) ,其他的: ,画直线(假) , ,turtle.left (90) , ,if num 拷贝[0,,4,5,6,8,9): ,画直线(真正的) ,其他的: ,画直线(假) , ,if num 拷贝[0,,2,,3,5,6,7,8,9): ,画直线(真正的) ,其他的: ,画直线(假) , ,if num 拷贝(0,1,,2,,3,,4,7,8,9): ,画直线(真正的) ,其他的: ,画直线(假) , ,turtle.pu () ,turtle.left (180) ,turtle.fd(30), #,绘制后面数字间隔位置 之前,turtle.update () >一个7段数码管全部绘制(显示数字8)顺序如下,根据显示的数字来决定哪些需要绘制,哪些只是抬起画笔移动不进行绘制,所以绘制单段数码管的函数内设置了一个参数。
定义一个滴答函数,利用线程库实现定时刷新:
def 蜱虫(): ,你=,time.localtime ()=,now_time.n_sec  now.tm_sec ,turtle.reset () ,turtle.hideturtle () ,turtle.pu () ,turtle.fd (-300) , ,darwDate (str (now.tm_year), & # 39; (255,, 69,, 0) & # 39;) ,turtle.fd (10) ,turtle.right (90) ,turtle.fd (30) ,turtle.write(& # 39;年& # 39;,,对齐=癱enter",,字体=(“Courier",, 30日,“bold")) ,turtle.left (180) ,turtle.fd (30) ,turtle.right (90) ,turtle.fd (30) , ,darwDate (str (now.tm_mon), & # 39; (0139 0) & # 39;) ,turtle.fd (10) ,turtle.right (90) ,turtle.fd (30) ,turtle.write(& # 39;月& # 39;,,对齐=癱enter",,字体=(“Courier",, 30日,“bold")) ,turtle.left (180) ,turtle.fd (30) ,turtle.right (90) ,turtle.fd (30) , ,darwDate (str (now.tm_mday), & # 39; (0, 0139) & # 39;) ,turtle.fd (10) ,turtle.right (90) ,turtle.fd (30) ,turtle.write(& # 39;日& # 39;,,对齐=癱enter",,字体=(“Courier",, 30日,“bold")) ,turtle.left (180) ,turtle.fd (-90) ,turtle.right (90) ,turtle.fd (-510) , ,darwDate (str (now.tm_hour)) ,turtle.fd (10) ,turtle.right (90) ,turtle.fd (30) ,turtle.write(& # 39;时& # 39;,,对齐=癱enter",,字体=(“Courier",, 30日,“bold")) ,turtle.left (180) ,turtle.fd (30) ,turtle.right (90) ,turtle.fd (30) , ,darwDate (str (now.tm_min)) ,turtle.fd (10) ,turtle.right (90) ,turtle.fd (30) ,turtle.write(& # 39;分& # 39;,,对齐=癱enter",,字体=(“Courier",, 30日,“bold")) ,turtle.left (180) ,turtle.fd (30) ,turtle.right (90) ,turtle.fd (30) , ,darwDate (str (now.tm_sec)) ,turtle.fd (10) ,turtle.right (90) null null null null null null null null null null null null null null null null null null null null null null null nullpython实现简易数码时钟的案例分析