📅  最后修改于: 2023-12-03 15:26:06.030000             🧑  作者: Mango
这是一个使用Python的turtle模块创建数字时钟的示例代码。
import turtle
我们需要创建一个turtle窗口来显示时钟。我们可以使用turtle的Screen()函数来创建窗口。
wn = turtle.Screen()
wn.bgcolor("black")
wn.setup(width=600,height=600)
wn.title("Digital Clock")
在这里,我们设置了窗口背景色为黑色,窗口宽度、高度为600,窗口标题为Digital Clock。
我们需要使用turtle的Turtle()函数来创建时、分、秒指针。我们可以使用turtle的pensize()函数来设置指针粗细,使用turtle的speed()函数来设置指针移动速度。
hour = turtle.Turtle()
hour.speed(0)
hour.pensize(6)
minute = turtle.Turtle()
minute.speed(0)
minute.pensize(4)
second = turtle.Turtle()
second.speed(0)
second.pensize(2)
我们使用turtle的penup()和pendown()函数来绘制刻度线和数字。我们也可以使用turtle的write()函数来写数字。
pen = turtle.Turtle()
pen.speed(0)
pen.pensize(3)
pen.penup()
pen.goto(0, 210)
pen.setheading(180)
for i in range(12):
pen.pendown()
pen.forward(60)
pen.penup()
pen.goto(0, 0)
pen.right(30)
pen.pendown()
pen.write(str(i+1), align="center", font=("Courier", 24, "normal"))
pen.penup()
pen.goto(0, 210)
pen.right(30)
在这里,我们创建了一个名为pen的turtle,使用速度为0,粗细为3,然后使用penup()函数将它移到(0,210)。我们使用setheading(180)函数设置它的方向为向左。
使用for循环绘制60度的直线,和写数字字母。
我们使用Python的time模块来获取当前时间。我们使用turtle的setheading()函数来设置时、分、秒指针的方向,并使用forward()函数来移动指针。
import time
while True:
h = int(time.strftime("%I"))
m = int(time.strftime("%M"))
s = int(time.strftime("%S"))
#时针转动的度数为每小时30度,每分钟0.5度
hour.setheading(30 * h + m / 2)
hour.pendown()
hour.forward(100)
hour.penup()
hour.goto(0, 0)
#分针转动的度数为每分钟6度
minute.setheading(6 * m)
minute.pendown()
minute.forward(150)
minute.penup()
minute.goto(0, 0)
#秒针转动的度数为每秒6度
second.setheading(6 * s)
second.pendown()
second.forward(200)
second.penup()
second.goto(0, 0)
time.sleep(1)
hour.clear()
minute.clear()
second.clear()
在这里,我们导入了Python的time模块来获取当前时间。我们使用while循环来保持计时器运行,然后获取当前的小时、分钟和秒。
我们使用setheading()函数来设置时、分、秒指针的方向,然后使用forward()函数来移动指针。
我们使用sleep()函数来暂停程序一秒,清除旧指针时不存留。我们使用clear()函数来清除旧指针。
import turtle
import time
wn = turtle.Screen()
wn.bgcolor("black")
wn.setup(width=600, height=600)
wn.title("Digital Clock")
hour = turtle.Turtle()
hour.speed(0)
hour.pensize(6)
minute = turtle.Turtle()
minute.speed(0)
minute.pensize(4)
second = turtle.Turtle()
second.speed(0)
second.pensize(2)
pen = turtle.Turtle()
pen.speed(0)
pen.pensize(3)
pen.penup()
pen.goto(0, 210)
pen.setheading(180)
for i in range(12):
pen.pendown()
pen.forward(60)
pen.penup()
pen.goto(0, 0)
pen.right(30)
pen.pendown()
pen.write(str(i+1), align="center", font=("Courier", 24, "normal"))
pen.penup()
pen.goto(0, 210)
pen.right(30)
while True:
h = int(time.strftime("%I"))
m = int(time.strftime("%M"))
s = int(time.strftime("%S"))
hour.setheading(30 * h + m / 2)
hour.pendown()
hour.forward(100)
hour.penup()
hour.goto(0, 0)
minute.setheading(6 * m)
minute.pendown()
minute.forward(150)
minute.penup()
minute.goto(0, 0)
second.setheading(6 * s)
second.pendown()
second.forward(200)
second.penup()
second.goto(0, 0)
time.sleep(1)
hour.clear()
minute.clear()
second.clear()
这是一个简单的数字时钟turtle代码,可以轻松创建数字时钟,只需要一些Python基础知识即可。它可以用作初学者的练习项目。