python写一个圆形带指针的时钟
时间: 2023-08-25 17:54:46 浏览: 157
以下是使用 Python 和 Turtle 库绘制一个圆形带指针的时钟的示例代码:
```python
import turtle
import datetime
# 设置窗口大小
turtle.setup(600, 600)
# 创建画布
screen = turtle.Screen()
screen.title("圆形带指针的时钟")
screen.bgcolor("white")
# 创建画笔
pen = turtle.Turtle()
pen.speed(1)
pen.pensize(3)
# 画圆
pen.up()
pen.goto(0, -200)
pen.down()
pen.circle(200)
# 画刻度线
pen.up()
pen.goto(0, 0)
pen.down()
for _ in range(12):
pen.forward(180)
pen.up()
pen.goto(0, 0)
pen.right(30)
pen.down()
# 获取当前时间
current_time = datetime.datetime.now()
# 画时针
pen.up()
pen.goto(0, 0)
pen.down()
pen.setheading(-90)
pen.right(current_time.hour * 30 + current_time.minute * 0.5)
pen.forward(120)
# 画分针
pen.up()
pen.goto(0, 0)
pen.down()
pen.setheading(-90)
pen.right(current_time.minute * 6)
pen.forward(160)
# 画秒针
pen.up()
pen.goto(0, 0)
pen.down()
pen.setheading(-90)
pen.right(current_time.second * 6)
pen.forward(180)
# 隐藏画笔
pen.hideturtle()
turtle.done()
```
这段代码使用了 Turtle 库来绘制时钟的圆形和指针。首先设置了窗口的大小,并创建了画布。然后创建了画笔,设置了画笔的速度和粗细。接下来,使用 `circle()` 方法画了一个半径为 200 的圆形作为时钟的外圈。然后,使用循环画了 12 条刻度线,每条线之间相隔 30 度。获取当前时间后,分别根据时、分、秒的数值来调整指针的位置和方向,使用 `forward()` 方法绘制指针。最后,隐藏了画笔,并调用 `turtle.done()` 方法来保持窗口的显示。
运行以上代码后,会弹出一个窗口显示当前时间的圆形带指针的时钟。指针会根据时间实时更新。你可以根据需要调整窗口大小、指针的长度和粗细等参数来定制自己的时钟。
阅读全文