在编程语言中有一个非常有用的语法:函数。通过编写函数,对于反复使用的功能可以直接调用,能省很多精力。而时间库则是python最常用的一个库,今天树哥通过绘制一个“数字时钟”来讲解函数和时间库相关的知识。
一、案例分析
案例:题目:绘制一个是数字时钟,要求数值时钟的时间与现实生活的时间相符。如上图所示:
分析:这其实是两个问题:
绘制时间。按照时间的变化更新这个数字时钟。我们分别来描述这个问题的解决方案:
1、绘制数字时钟
我们分析一下当前的这个图,发现可以使用我们之前提过的turtle,也就是海龟会图库来解决。当前的这个图有两部分组成:
汉字:时、分、秒代表时、分、秒的8位数字汉字的问题:
汉字的问题只需要三个步骤:
到达指定的地方,使用turtle.goto(坐标)设置笔的颜色,turtle.pencolor("颜色"),使用red,blue,green书写汉字,turtle.write('汉字',font=(相关参数))例如以下的几条语句而已:
代表时、分、秒的八位数字
我们单独看每一个数字,这其实是一个“七段数码管”的经典问题,解决思路是:
把一位数字拆分成七段,每一段给定一个编号,如图所示:
不同的数码管段点亮组合成不同的数字,例如:数字 “8” 就需要全部的段落都要点亮,而数字 “0” 则中间的横不需要点亮,而数字 “1” 则只需要点亮右侧的上下两个竖就可以。
当明白这个原理后,我们只要得到相应的数字,只要把相应的段落点亮就可以。
不过,我们没有数码管,有的只是turtle绘图软件,那么我们就需要明白:只要在需要的段落上留下痕迹就可以。
要实现这点也有两个方法:
每个数字写段代码,使用if语句逐个判断。大家公用一段代码,写每个段落时判断是否需要落笔。第一个方法比较简单,不进行演示,我们使用第二种方法尝试。为了笔顺顺畅,我们以横为开