大橘暗中乱调时钟,被抓包后…主人居然自己做了一款永不过时的

本文介绍了如何使用Python的turtle模块创建一个动态时钟,不仅展示了编程实现家居小物的可能性,还结合datetime库确保时间的准确性。通过定义表针和时钟的绘制,实现了实时更新时间的功能,让编程与日常生活巧妙结合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导语

啊咧~最近发现家里的时钟经常会不准确?

直到有一天,我看到了一幕:

大橘对时钟伸出了罪恶之爪;

图片

一会儿左摆弄、一会儿右摆弄?

图片

铲屎官:咋滴!你是把它当作逗猫棒了啊喂!

猫:我这么明显了,你害还看不懂?

网友:等等!是不是开罐罐的时间到了……

图片

家有一猫,如有一宝,小编家的团子还是不能碰的~不然打过了会心疼!!

那能怎么办,没事儿大橘子你自己玩儿叭——好的东西都给你了

爸爸自己来重新想个办法——含泪写下一款简易版本的时钟给自己用~

正文

环境安装部分:Python3.6 以及自带的模块。

使用turtle画图创建时钟:

'''创建时钟'''
def createClock(radius):
	turtle.reset()
	turtle.pensize(7)
	for i in range(60):
		move(radius)
		if i % 5 == 0:
			turtle.forward(20)
			move(-radius-20)
		else:
			turtle.dot(5)
			move(-radius)
		turtle.right(6)

创建表针(定义形状长度等):

'''创建表针turtle'''
def createHand(name, length):
	turtle.reset()
	move(-length * 0.01)
	turtle.begin_poly()
	turtle.forward(length * 1.01)
	turtle.end_poly()
	hand = turtle.get_poly()
	turtle.register_shape(name, hand)

动态显示时钟:​利用datetime库获取当前的日期与时间,真的特别准哦!!一摸一样!

def startTick(second_hand, minute_hand, hour_hand, printer):
	today = datetime.datetime.today()
	second = today.second + today.microsecond * 1e-6
	minute = today.minute + second / 60.
	hour = (today.hour + minute / 60) % 12
	# 设置朝向
	second_hand.setheading(6 * second)
	minute_hand.setheading(6 * minute)
	hour_hand.setheading(12 * hour)
	turtle.tracer(False)
	printer.forward(65)
	printer.write(getWeekday(today), align='center', font=("Courier", 14, "bold"))
	printer.forward(120)
	printer.write('12', align='center', font=("Courier", 14, "bold"))
	printer.back(250)
	printer.write(getDate(today), align='center', font=("Courier", 14, "bold"))
	printer.back(145)
	printer.write('6', align='center', font=("Courier", 14, "bold"))
	printer.home()
	printer.right(92.5)
	printer.forward(200)
	printer.write('3', align='center', font=("Courier", 14, "bold"))
	printer.left(2.5)
	printer.back(400)
	printer.write('9', align='center', font=("Courier", 14, "bold"))
	printer.home()
	turtle.tracer(True)
	# 100ms调用一次
	turtle.ontimer(lambda: startTick(second_hand, minute_hand, hour_hand, printer), 100)

效果图:滴答滴答~

总结

​🎊🎊源码基地:关注小编获取哦~💝记得三连吖。赶快学起来!

记得三连哦!感谢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾木子吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值