用turtle绘图做一个钟表时钟

今天就做一个钟表时钟,是真的可以看当前时间的

代码效果:

你没看错,就是做一个这样的钟表!

接下来开始写代码吧

目录

😎设置窗口和画笔

🤣定义钟表指针函数

🤩编写主循环


😎设置窗口和画笔

首先导入库

import turtle

窗口背景图片为钟表的1, 2 ...11, 12每个数字

设置背景图片的函数是bgpic

代码:

turtle.bgpic('bg.gif')

注意:turtle里用bgpic只能导入png格式或gif格式

这里使用gif因为gif更稳定

下面设置窗口大小

代码:

turtle.setup(600, 600)

setup用来设置窗口大小

继续下一步:

隐藏画笔

代码:

turtle.hideturtle()

hideturtle就是隐藏画笔的意思

最后,取消绘图动画:

turtle.tracer(0)

到这里,设置窗口和画笔的步骤都完成了,接着下一步

🤣定义钟表指针函数

定义函数的语句是def

下面代码为定义函数:

def clock_pointer(c, s, a, l):

函数接收四个参数:c, s, a, l

c是颜色

s是粗细

a是角度

l是长度

这个函数是用来画指针的

计算指针的角度就需要把指针初始位置设置成垂直

turtle中设置画笔朝向是setheading函数,可以简写成seth

代码:

turtle.seth(90)

90度就是垂直

接下来设置颜色、粗细、角度和长度

代码:

turtle.pencolor(c)
turtle.pensize(s)
turtle.right(a)
turtle.forward(l)
turtle.backward(l)

第一行是设置颜色,turtle中颜色为英文,全部小写,字符串形式

第二行是设置画笔粗细,用pensize

第三行是设置角度,也就是向右旋转a度

第四行是设置指针长度,用的是画笔前进函数forward

第五行是后退到起始点

到这里,定义钟表指针函数的步骤就完成了,继续

🤩编写主循环

想要画出准确的时间,就要先获取本地时间

获取本地时间的函数是localtime,这个是time库里的,所以要导入time库

import time
time.localtime()

如果使用localtime获取时间,获取的是这样一串:

 那怎么提取出时、分、秒呢

hour = time.localtime().tm_hour
minute = time.localtime().tm_min
second = time.localtime().tm_sec

在localtime后加.tm_hour/min/sec即可获取时分秒

接下来还要把时间画在钟表的指针上

可以用这种方法实现:

clock_pointer('gray', 10, hour*(360/12), 70)
clock_pointer('silver', 6, minute*(360/60), 130)
clock_pointer('gold', 3, second*(360/60), 130)

这样就可以画出指针了

接下来让指针不断变化,需要用动画,以下为代码实现

turtle.update()
turtle.clear()

先画出钟表指针,再刷新,再清除,一直循环下去就可以实现指针动起来的效果了

到此,程序就写完了。

下篇文章见。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值