一、使用turtle模塊顯示時鐘錶盤
turtle是Python自帶的一個圖形庫,可以用於在繪圖窗口中繪製圖形。我們可以使用turtle模塊繪製一個時鐘錶盤,然後在錶盤上顯示時間。
import turtle
import time
# 繪製時鐘錶盤
def draw_clock(radius):
# 繪製錶盤的外圓
turtle.pensize(7)
turtle.color("black")
turtle.penup()
turtle.goto(0, -radius)
turtle.pendown()
turtle.circle(radius)
# 繪製錶盤上的刻度
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
for i in range(12):
turtle.forward(radius * 0.8)
turtle.pencolor("red")
turtle.pensize(5)
turtle.write(i+1, align="center", font=("Courier", 14, "bold"))
turtle.back(radius * 0.8)
turtle.right(30)
def main():
turtle.setup(width=800, height=800)
turtle.speed(0)
radius = 300
draw_clock(radius)
main()
以上代碼中,我們使用turtle模塊繪製了一個錶盤的外圓和刻度線,其中的時間刻度用紅色標註出來。可以通過修改半徑和刻度線長度等參數來適應不同大小的錶盤。
二、獲取當前時間
使用Python內置的time模塊可以獲取當前時間,代碼如下:
import time
def get_current_time():
return time.localtime()
current_time = get_current_time()
hour = current_time.tm_hour
minute = current_time.tm_min
second = current_time.tm_sec
以上代碼中,我們調用time模塊的localtime函數獲取當前本地時間,並從中提取出小時、分鐘和秒數。
三、在錶盤上顯示時間
有了時鐘錶盤和當前時間的數據,我們可以在錶盤上顯示時間了。
import turtle
import time
# 繪製時鐘錶盤
def draw_clock(radius):
# 繪製錶盤的外圓
turtle.pensize(7)
turtle.color("black")
turtle.penup()
turtle.goto(0, -radius)
turtle.pendown()
turtle.circle(radius)
# 繪製錶盤上的刻度
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
for i in range(12):
turtle.forward(radius * 0.8)
turtle.pencolor("red")
turtle.pensize(5)
turtle.write(i+1, align="center", font=("Courier", 14, "bold"))
turtle.back(radius * 0.8)
turtle.right(30)
# 獲取當前時間
def get_current_time():
return time.localtime()
# 在錶盤上顯示時間
def show_time(hour, minute, second, radius):
# 顯示時針
turtle.pensize(12)
turtle.color("black")
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
turtle.right(hour * 30 + minute * 0.5)
turtle.forward(radius * 0.6)
# 顯示分針
turtle.pensize(8)
turtle.color("blue")
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
turtle.right(minute * 6)
turtle.forward(radius * 0.8)
# 顯示秒針
turtle.pensize(3)
turtle.color("red")
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
turtle.right(second * 6)
turtle.forward(radius * 0.9)
def main():
turtle.setup(width=800, height=800)
turtle.speed(0)
radius = 300
draw_clock(radius)
while True:
turtle.clear()
current_time = get_current_time()
hour = current_time.tm_hour
minute = current_time.tm_min
second = current_time.tm_sec
show_time(hour, minute, second, radius)
turtle.update()
time.sleep(1)
main()
以上代碼中,我們使用show_time函數將時針、分針和秒針分別繪製在錶盤上。其中,時針每小時旋轉30度,每分鐘旋轉0.5度;分針每分鐘旋轉6度;秒針每秒旋轉6度。
最後,在主函數中使用while循環來不斷更新錶盤上的時間,調用turtle.update()函數將圖形更新到屏幕上,每一秒鐘暫停一次,以達到實時顯示時間的效果。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237931.html
微信掃一掃
支付寶掃一掃