python实现简易动态时钟
本文实例为大家分享了python实现简易动态时钟的具体代码,供大家参考,具体内容如下
fromturtleimport* fromdatetimeimport* #移动到指定位置 defskip(step): penup() forward(step) pendown() #画指针 defdrawpointer(name,length): reset() skip(-length*0.1) begin_poly() forward(length*1.1) end_poly() handForm=get_poly() register_shape(name,handForm) #初始化 definit(): globalhrpointer,minpointer,secpointer,weektext #设置turtleLogo模式,朝北 mode("logo") drawpointer("hrpointer",90) drawpointer("minpointer",130) drawpointer("secpointer",140) hrpointer=Turtle() hrpointer.shape("hrpointer") minpointer=Turtle() minpointer.shape("minpointer") secpointer=Turtle() secpointer.shape("secpointer") secpointer.pencolor("red") forpointerinhrpointer,minpointer,secpointer: pointer.shapesize(3,1,1) pointer.speed(0) #文字输出 weektext=Turtle() weektext.hideturtle() weektext.penup() #设置表盘形状 defsetupClock(radius): reset() #clockPanel=Turtle() pensize(7) pencolor("blue") foriinrange(60): skip(radius) ifi%5==0: forward(20) skip(-radius-20) else: dot(5) skip(-radius) right(6) #星期文本 defWeek(t): week=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"] returnweek[t.weekday()] #日期文本 defDate(t): y=t.year m=t.month d=t.day return"%s%d%d"%(y,m,d) #绘制表针动态显示 deftick(): t=datetime.today() second=t.second+t.microsecond*0.0000001 minute=t.minute+second/60.0 hour=t.hour+minute/60.0 secpointer.setheading(6*second) minpointer.setheading(6*minute) hrpointer.setheading(30*hour) tracer(False) weektext.forward(65) weektext.write(Week(t),align="center",font=("Courier",14,"bold")) weektext.back(130) weektext.write(Date(t),align="center",font=("Courier",14,"bold")) weektext.home() tracer(True) #间隔100ms调用一次 ontimer(tick,100) defmain(): tracer(False) init() setupClock(160) tracer(True) tick() mainloop() if__name__=='__main__': main()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。