📜  使用 Python-Turtle 创建数字时钟(1)

📅  最后修改于: 2023-12-03 14:49:45.861000             🧑  作者: Mango

使用 Python-Turtle 创建数字时钟

如果你想使用 Python-Turtle 创建一个数字时钟,可以使用以下代码:

import turtle
import datetime

def draw_clock(h, m, s, pen):
    """
    画出时钟
    :param h: 时
    :param m: 分
    :param s: 秒
    :param pen: Turtle画笔对象
    :return: 无
    """
    # 画出表盘
    pen.reset()
    pen.pensize(7)
    pen.penup()
    pen.goto(0, -200)
    pen.pendown()
    pen.circle(200)

    # 画出小时线
    pen.penup()
    pen.goto(0, 0)
    pen.setheading(90)
    angle = (h / 12) * 360
    pen.rt(angle)
    pen.pendown()
    pen.fd(100)

    # 画出分钟线
    pen.penup()
    pen.goto(0, 0)
    pen.setheading(90)
    angle = (m / 60) * 360
    pen.rt(angle)
    pen.pendown()
    pen.fd(150)

    # 画出秒钟线
    pen.penup()
    pen.goto(0, 0)
    pen.setheading(90)
    angle = (s / 60) * 360
    pen.rt(angle)
    pen.pendown()
    pen.fd(180)

    # 输出时、分、秒数
    pen.penup()
    pen.goto(-60, 150)
    pen.write(h, align='center', font=('Arial', 40, 'normal'))
    pen.goto(0, 150)
    pen.write(m, align='center', font=('Arial', 40, 'normal'))
    pen.goto(60, 150)
    pen.write(s, align='center', font=('Arial', 40, 'normal'))

def main():
    """
    主函数
    :return:
    """
    turtle.setup(500, 500)
    turtle.bgcolor('gray')
    pen = turtle.Turtle()
    pen.hideturtle()
    while True:
        now = datetime.datetime.now()
        draw_clock(now.hour, now.minute, now.second, pen)
        turtle.update()

if __name__ == '__main__':
    main()

在该代码中,我们使用了 Python 的 turtle 模块绘制数字时钟。

具体的实现过程如下:

  1. 首先导入必要的模块:turtledatetime
  2. 定义了一个函数 draw_clock 用于画出时钟。
  3. draw_clock 函数中,我们依次实现了画表盘、小时线、分钟线、秒钟线和输出当前时间数字的功能。
  4. 最后定义一个主函数 main,在其中调用了 draw_clock 函数来不断更新时钟,并使用 turtle.update() 函数来更新屏幕。
  5. 在代码的末尾,我们执行主函数。

这样,我们就成功创建了一个数字时钟。

注意:该代码在 Python 3.x 版本中运行。因为 Python 2.x 版本中已经没有 Tkinter 模块了,所以无法执行该代码。