python实现简易动态时钟

 更新时间:2018年11月19日 10:11:37   作者:zenobia119  
这篇文章主要为大家详细介绍了python实现简易动态时钟,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python实现简易动态时钟的具体代码,供大家参考,具体内容如下

from turtle import *
from datetime import *
#移动到指定位置
def skip(step):
  penup()
  forward(step)
  pendown()
#画指针
def drawpointer(name, length):
  reset()
  skip(-length*0.1)
  begin_poly()
  forward(length*1.1)
  end_poly()
  handForm = get_poly()
  register_shape(name, handForm)
#初始化
def init():
  global hrpointer, minpointer, secpointer, weektext
  #设置turtle Logo模式,朝北
  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")
  for pointer in hrpointer, minpointer, secpointer:
    pointer.shapesize(3, 1, 1)
    pointer.speed(0)
  #文字输出
  weektext = Turtle()
  weektext.hideturtle()
  weektext.penup()
#设置表盘形状
def setupClock(radius):
  reset()
#  clockPanel = Turtle()
  pensize(7)
  pencolor("blue")
  for i in range(60):
    skip(radius)
    if i%5 == 0:
      forward(20)
      skip(-radius-20)
    else:
      dot(5)
      skip(-radius)
    right(6)

#星期文本
def Week(t):
  week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
  return week[t.weekday()]
#日期文本
def Date(t):
  y = t.year
  m = t.month
  d = t.day
  return "%s %d %d" % (y, m, d)
#绘制表针动态显示
def tick():
  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)

def main():
  tracer(False)
  init()
  setupClock(160)
  tracer(True)
  tick()
  mainloop()
if __name__ == '__main__':
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python操作PDF文件之实现A3页面转A4

    Python操作PDF文件之实现A3页面转A4

    这篇文章主要为大家详细介绍了Python操作PDF文件之实现A3页面转A4功能的相关资料,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-11-11
  • 关于jieba.cut与jieba.lcut的区别及说明

    关于jieba.cut与jieba.lcut的区别及说明

    这篇文章主要介绍了关于jieba.cut与jieba.lcut的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • PyCharm新建.py文件时默认添加信息的实现

    PyCharm新建.py文件时默认添加信息的实现

    这篇文章主要介绍了PyCharm新建.py文件时默认添加信息的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python 获取微信好友列表的方法(微信web)

    python 获取微信好友列表的方法(微信web)

    今天小编就为大家分享一篇python 获取微信好友列表的方法(微信web),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python 读取目录下csv文件并绘制曲线v111的方法

    python 读取目录下csv文件并绘制曲线v111的方法

    今天小编就为大家分享一篇python 读取目录下csv文件并绘制曲线v111的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 程序猿新手学习必备的Python工具整合

    程序猿新手学习必备的Python工具整合

    这篇文章主要介绍了程序猿新手必备的Python工具整合,Python 是一种开源编程语言,用于 Web 编程、数据科学、人工智能和许多科学应用
    2021-09-09
  • Idea安装python显示无SDK问题解决方案

    Idea安装python显示无SDK问题解决方案

    这篇文章主要介绍了Idea安装python显示无SDK问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 实现 Python 脚本生成命令行

    实现 Python 脚本生成命令行

    这篇文章主要介绍了实现 Python 脚本生成命令行,文章通过定义一个 scrape 方法展开详细内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • 浅谈一下Python中闭包的作用

    浅谈一下Python中闭包的作用

    这篇文章主要介绍了浅谈一下Python中闭包的作用,闭包特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变,需要的朋友可以参考下
    2023-12-12
  • python导包的几种方法(自定义包的生成以及导入详解)

    python导包的几种方法(自定义包的生成以及导入详解)

    这篇文章主要介绍了python导包的几种方法(自定义包的生成以及导入详解),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论