python玩与学 | 有你好看
公益教程 | 代码俱乐部 | 玩物励志
我们用turtle做一个简易的钟表。为什么是“简易”的呢?它只是在你运行程序的时候显示出当前的时间,它没有秒针、时针也不会实时的运动。要看以下“功能完善”的钟表,在Python的解释器IDLE里的turtle Demo里就有一个!它是这样子的。
Python的Turtle Demo里的钟表
(进入方法:IDLE菜单--->help-->Turtle Demo-->examples--->clock)
自制的“钟表”
我们自制的钟表长这个样子(下图)。非常简洁、明快是吧?只有时针和分针,没有秒针;每次运行程序的时候它就显示出正确的当前时间。
我们要画的钟表
怎么样画这个钟表呢?只要认真学了我们平台前面的教程的朋友都能做出来(所使用的turtle画图的函数以前均讲解过)。我们要先明白几个关键的地方:
何获得当前的时间
这里就用到了Python里面的一个模块“datetime”:它是一个有关“时间”与“日期”的模块,有很多函数可供你调遣。我们这里只想知道当前是“几点”?“几分”?怎么做呢?看下动图:
所以总结下就是:想要知道当前是几点就要用到:
想要知道当前是几分就用到:
如何画时针和分针
另一个关键的问题是:如何画时针呢?没错,你肯定想到了:不妨提醒你一下:钟表的一圈是12小时,一圈又是360度,所以每一个小时时针应该转动(360/12=30)度,我们每次从12点开始算起。如果现在是3点,那时针就应该从正12点位置转动(3*360/12=90)度。
那分针怎么转呢?知道时针怎么转了也就知道分针了:钟表的一圈是60分钟,一圈又是360度,所以每一分钟分针应该转动(360/60=6)度,我们每次从12点开始算起。如果现在是15分,那分针就应该从正12点位置转动(15*360/60=90)度。
自制“钟表”代码
用Python代码实现上面的简易时钟如下。保存之后就可以运行查看效果了。
程序先导入了datetime库的datetime模块;导入turtle乌龟模块;然后造了一个小乌龟myPen,设置它的形状是“箭头(arrow)”;变量currentMinute存储了当前的“分”,currentHour变量存储了当前的“时”;然后就是让乌龟画圆形表盘,画完表盘画时针(方法上面已经介绍了);接着画分针,方法也是一样的。
代码非常简洁、流畅,大家仔细体会。
Python代码画“钟表”
所用函数总结
datetime:日期时间模块
shape():设置乌龟的形状
speed():乌龟画图的速度,0表示最快
penup()/pendown():提笔/落笔命令
goto():让乌龟走到(x,y)坐标位置
color():设置乌龟线条颜色
circle():画圆命令
width():线条宽度命令
setheading():设置乌龟箭头角度
right():右转命令
forward():前进命令
细心的你可能注意到了:我们的时针走的并不精确。因为比如现在是2:30分,那时针不应该指向“2”,而是应该指向“2”与“3”之间的某个位置,我们的程序没有考虑到这点。
学编程、学创造、释放你的想象力
领取专属 10元无门槛券
私享最新 技术干货