以下是一个简单的 Python 代码,用于绘制指针会动的时钟:

import turtle
import datetime

# 创建指针
def create_hand(name, length):
    hand = turtle.Turtle()
    hand.speed(0)
    hand.shape('triangle')
    hand.shapesize(stretch_len=length)
    hand.penup()
    turtle.register_shape(name, ((0,0), (0.2*length,0.05*length), (length,0), (0.2*length,-0.05*length)))
    hand.shape(name)
    return hand

# 设置画布
def setup_clock(radius):
    turtle.setup(width=1000, height=1000)
    turtle.bgcolor('black')
    clock = turtle.Turtle()
    clock.speed(0)
    clock.penup()
    clock.goto(0, -radius)
    clock.pendown()
    clock.pensize(7)
    for i in range(60):
        clock.forward(radius*0.9)
        if i % 5 == 0:
            clock.penup()
            clock.forward(10)
            clock.pendown()
            clock.forward(20)
            clock.penup()
            clock.backward(radius*0.93)
        else:
            clock.penup()
            clock.forward(5)
            clock.pendown()
            clock.forward(10)
            clock.penup()
            clock.backward(radius*0.95)
        clock.right(6)
    return clock

# 获取时间
def get_time():
    d = datetime.datetime.now()
    hour = d.hour
    minute = d.minute
    second = d.second
    return hour, minute, second

# 绘制时钟
def draw_clock(hour, minute, second, h_hand, m_hand, s_hand):
    h_angle = (hour/12) * 360 + (minute/60) * 30
    m_angle = (minute/60) * 360
    s_angle = (second/60) * 360
    h_hand.setheading(h_angle)
    m_hand.setheading(m_angle)
    s_hand.setheading(s_angle)
    turtle.update()

# 主函数
def main():
    radius = 300
    clock = setup_clock(radius)
    h_hand = create_hand('hour_hand', 0.5)
    m_hand = create_hand('minute_hand', 0.7)
    s_hand = create_hand('second_hand', 0.9)
    while True:
        hour, minute, second = get_time()
        draw_clock(hour, minute, second, h_hand, m_hand, s_hand)

if __name__ == '__main__':
    main()

该代码使用 Turtle 模块在 Python 中创建了一个指针会动的时钟。它首先创建了三个指针:时针、分针和秒针,并使用 register_shape() 函数来定义指针的形状。然后,它设置了画布并在画布上绘制了时钟的标记。最后,它定义了一个 draw_clock() 函数,该函数将指针的角度设置为当前时间,并在画布上绘制时钟。主函数不断循环,以便时钟可以持续更新。

Python 指针动态时钟绘制代码

原文地址: https://www.cveoy.top/t/topic/nyqm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录