今天我将和大家分享一种非常有趣的Python程序,它可以通过画表盘的方式呈现数据,而且还非常简单易懂。
我们先来看看代码:
import turtle import time # 定义外圆函数 def drawCircle(r, color): turtle.up() turtle.goto(0, -r) turtle.down() turtle.begin_fill() turtle.color(color) turtle.circle(r) turtle.end_fill() # 定义刻度函数 def drawLines(n): turtle.pensize(7) for i in range(n): turtle.up() turtle.goto(0,0) turtle.setheading(30*i) turtle.fd(90) turtle.down() turtle.fd(10) turtle.up() # 定义指针函数 def hourHand(h, m): turtle.up() turtle.goto(0,0) turtle.setheading(30*h+0.5*m) turtle.pensize(7) turtle.pencolor("black") turtle.down() turtle.fd(60) def minuteHand(m): turtle.up() turtle.goto(0,0) turtle.setheading(6*m) turtle.pensize(5) turtle.pencolor("red") turtle.down() turtle.fd(80) def secondHand(s): turtle.up() turtle.goto(0,0) turtle.setheading(6*s) turtle.pensize(2) turtle.pencolor("green") turtle.down() turtle.fd(90) # 设置窗口 turtle.setup(650, 350, 200, 200) turtle.title("Analogue Clock") # 循环运行 while True: turtle.clear() drawCircle(120, '#f6facf') drawCircle(100, '#dbfcc3') drawLines(12) nowTime = time.localtime() hourHand(nowTime.tm_hour,nowTime.tm_min) minuteHand(nowTime.tm_min) secondHand(nowTime.tm_sec) time.sleep(1) turtle.update() turtle.done()
代码的主要部分是通过turtle库来实现画图的功能。
首先我们定义了一个画外圆的函数drawCircle,它可以在画布上画出一个半径为r、颜色为color的圆,并填充颜色。
然后我们定义了画刻度的函数drawLines,它通过turtle.up()和turtle.down()的组合将海龟移动到指定位置并画出一条长度为10的直线,再通过turtle.setheading()函数将海龟的方向调整到下一个刻度。
接着我们定义了三个指针函数hourHand、minuteHand和secondHand,它们分别根据当前的小时、分钟和秒数以不同的颜色和粗细画出三个指针。
最后我们通过turtle.setup()函数设置画布的大小和位置,并通过一个无限循环来实现时钟的连续运转。
如果你对Python画图有兴趣,不妨试一试这个有趣的程序吧。