源自
https://blog.csdn.net/HuaFMX/article/details/120488442)
https://zhuanlan.zhihu.com/p/129221366
原文不方便拷贝,此外时针角度运行也有问题,做了修正和补充,作为python图形练习。
import turtle
from datetime import *
from turtle import *
import time
import sys
def clock_map():
turtle.tracer(False)
turtle.delay(delay=None)
pen=turtle.Pen()
pen.hideturtle()
pen.speed(0)
num=3
for i in range(60):
pen.pensize(1)
pen.right(i/60*360)
pen.penup()
pen.forward(220)
pen.pendown()
pen.forward(10)
if i%5==0:
pen.pensize(4)
pen.right(180)
pen.forward(15)
pen.right(180)
pen.forward(15)
if i%15==0:
pen.pensize(10)
pen.right(180)
pen.forward(20)
pen.right(180)
pen.forward(20)
pen.penup()
pen.forward(25)
if i%5==0:
Hour=num
if Hour>12:
Hour=Hour-12
pen.write(Hour,align="center",font=("Courier",18,"bold"))
num=num+1
pen.home()
def show_week(t):
week = ["星期一 Mon", "星期二 Tue", "星期三 Wed", "星期四 Thu", "星期五 Fri", "星期六 Sat", "星期日 Sun"]
return week[t.weekday()]
def get_date():
time=datetime.today()
year=time.year
month=time.month
day=time.day
hour=time.hour
min=time.minute
sec=time.second
week=show_week(time)
return year,month,day,week
def data_show():
year,month,day,week=get_date()
turtle.tracer(False)
turtle.delay(delay=None)
pen=turtle.Pen()
pen.hideturtle()
pen.speed(0)
pen.right(90)
pen.penup()
pen.forward(100)
pen.pendown()
messages=str(year)+"年"+str(month)+"月"+str(day)+"日"+ str(week)
pen.write(messages,align="center",font=("Courier",14,"bold"))
turtle.clear()
tracer(False)
def get_time_jiao():
time=datetime.today()
hour=time.hour+time.minute/60
mini=time.minute
sec=time.second
hour_jiao=hour%12/12*360-90
mini_jiao=mini/60*360-90
sec_jiao=sec/60*360-90
return hour_jiao,mini_jiao,sec_jiao
def plot_time():
hour_jiao,mini_jiao,sec_jiao=get_time_jiao()
turtle.tracer(False)
turtle.delay(delay=None)
pen=turtle.Pen()
pen.hideturtle()
pen.speed(0)
pen.pensize(10)
pen.right(hour_jiao)
pen.forward(100)
pen.home()
pen.pensize(5)
pen.right(mini_jiao)
pen.forward(150)
pen.home()
pen.pensize(2)
pen.right(sec_jiao)
pen.forward(200)
pen.home()
pen.hideturtle()
pen.pensize(6)
pen.penup()
pen.goto(0, 240)
pen.pendown()
pen.right(6)
pen.forward(60)
pen.right(90)
pen.forward(60)
pen.right(90)
pen.forward(60)
pen.right(90)
pen.forward(60)
pen.hideturtle()
tracer(False)
turtle.ontimer(pen.clear,100)
turtle.ontimer(plot_time,100)
def main():
time=datetime.today()
print(time.hour,time.minute,time.second,file=sys.stderr)
clock_map()
data_show()
plot_time()
pen=turtle.Pen()
time=datetime.today()
print(time.hour,time.minute,time.second,file=sys.stderr)
if __name__ == '__main__':
main()
mainloop()
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞2
添加新评论0 条评论