最近学习python,接触到turtle标准库,后面又看到利用python内置库turtle库画一个实时钟表。话不多说,直接上代码叭!

import turtle
from datetime import *
def Skip(step):turtle.penup()turtle.forward(step)turtle.pendown()
def mkHand(name, length):# 注册Turtle形状,建立表针Turtleturtle.reset()Skip(-length * 0.1)# 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。turtle.begin_poly()turtle.forward(length * 1.1)# 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。turtle.end_poly()# 返回最后记录的多边形。handForm = turtle.get_poly()turtle.register_shape(name, handForm)
def Init():global secHand, minHand, hurHand, printer# 重置Turtle指向北turtle.mode("logo")# 建立三个表针Turtle并初始化mkHand("secHand", 135)mkHand("minHand", 125)mkHand("hurHand", 90)secHand = turtle.Turtle()secHand.shape("secHand")minHand = turtle.Turtle()minHand.shape("minHand")hurHand = turtle.Turtle()hurHand.shape("hurHand")for hand in secHand, minHand, hurHand:hand.shapesize(1, 1, 3)hand.speed(0)# 建立输出文字Turtleprinter = turtle.Turtle()# 隐藏画笔的turtle形状printer.hideturtle()printer.penup()
def SetupClock(radius):# 建立表的外框turtle.reset()turtle.pensize(7)for i in range(60):Skip(radius)if i % 5 == 0:turtle.forward(20)Skip(-radius - 20)Skip(radius + 20)if i == 0:turtle.write(int(12), align="center", font=("Courier", 14, "bold"))elif i == 30:Skip(25)turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))Skip(-25)elif (i == 25 or i == 35):Skip(20)turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))Skip(-20)else:turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))Skip(-radius - 20)else:turtle.dot(5)Skip(-radius)turtle.right(6)
def Week(t):week = ["星期一", "星期二", "星期三","星期四", "星期五", "星期六", "星期日"]return week[t.weekday()]
def Date(t):y = t.yearm = t.monthd = t.dayreturn "%s年%d月%d日" % (y, m, d)
def Tick():# 绘制表针的动态显示t = datetime.today()second = t.second + t.microsecond * 0.000001minute = t.minute + second / 60.0hour = t.hour + minute / 60.0secHand.setheading(6 * second)minHand.setheading(6 * minute)hurHand.setheading(30 * hour)turtle.tracer(False)printer.forward(65)printer.write(Week(t), align="center",font=("Courier", 14, "bold"))printer.back(130)printer.write(Date(t), align="center",font=("Courier", 14, "bold"))printer.home()turtle.tracer(True)# 100ms后继续调用tickturtle.ontimer(Tick, 100)
def main():# 打开/关闭龟动画,并为更新图纸设置延迟。turtle.tracer(False)Init()SetupClock(160)turtle.tracer(True)Tick()turtle.mainloop()
if __name__ == "__main__":main()

**

运行结果:

**

利用python Turtle库函数画一个实时钟表相关推荐

  1. 利用Python海龟绘图画一个世界杯的足球

    利用Python海龟绘图画一个世界杯的足球 花有重开日 人无再少年 四年一次的世界杯快要结束,为了纪念此次世界杯,特意用Python画了一个足球. 1.设计思路以及实现效果 世界杯足球实现思路: 首先 ...

  2. 用Python Turtle库画一个萌化的蜘蛛侠

    你是从什么时候开始喜欢上漫威电影的?美国队长,钢铁侠,雷神? 我先入坑的是因为看了蜘蛛侠,小时候看完就幻想着什么时候自己也能成为一个英雄,我觉得第一代蜘蛛侠刻画得是最好的,也是给我印象最深刻的一代蜘蛛 ...

  3. python turtle库画一个五角星 【Python初学 绘制五角星】

    一.常用命令 import turtle #导入turtle库 import time #时间模块 turtle.forward() #向前移动 turtle.right() #顺时针旋转 turtl ...

  4. 使用python Turtle工具画一个发射爱心的小人

    最近在学Turtle,刚开始学,想画个发射爱心的小人,用turtle不太熟悉,画得不好,下面是效果图: 下面是代码,因为是刚开始学,又没学过画画,所以画的有点丑,大家多多见谅.下面是代码: from ...

  5. Python Turtle库画一个美国国旗

    美国国旗 标准参考的是百度文库上面的标准:美国国旗标准 美国国旗标准 国旗宽度A=1.0 国旗长度B=1.9 联邦范围宽度:C=0.5385(7/13,7条间纹的阔度) 联邦范围长度:D=0.76(1 ...

  6. python画多个圆_python turtle库画一个方格和圆实例

    python turtle库画一个方格和圆实例 使用python的turtle库画一个方格和圆 打开python编译器,导入turtle库 from turtle import * 首先画一个距离为1 ...

  7. 用python的Turtle库画一个笑脸

    用python的Turtle库画一个笑脸 最近刚了解到python的turtle库,就简单的尝试一下,画一个笑脸. 效果图: 效果图看起来和原图的差别还是有点大,但是没关系,这只是一个尝试而已. 附上 ...

  8. 用python画小黄人步骤图-学Python画画:应用Turtle库画一个蠢萌的小黄人

    学Python画画:应用Turtle库画一个蠢萌的小黄人 前言: 还记得小黄人哪只蠢萌蠢萌的单眼小黄人?就是喜欢做什么事都喜欢逞能的那只,下面用Python来实现一下,正在逃跑的小黄人.进群:7003 ...

  9. 用python画小黄人-学Python画画:应用Turtle库画一个蠢萌的小黄人

    学Python画画:应用Turtle库画一个蠢萌的小黄人 前言: 还记得小黄人哪只蠢萌蠢萌的单眼小黄人?就是喜欢做什么事都喜欢逞能的那只,下面用Python来实现一下,正在逃跑的小黄人.进群:7003 ...

最新文章

  1. 数字图像处理:blob分析、阈值分割
  2. pandas_getdummies()
  3. 【重置版】Android studio高效开发的秘密
  4. Android开发学习笔记:对话框浅析
  5. 顶会快讯|5篇AAAI2020相关论文抢先看(附GitHub代码地址)
  6. perl学习(1) 入门
  7. 世纪联华的 Serverless 之路
  8. Scala入门到精通—— 第二节Scala基本类型及操作、程序控制结构
  9. 根据后序和中序求二叉树的层序
  10. centos 使vim支持+python和+python3
  11. 山西大学计算机应用专业,山西大学计算机应用技术专业
  12. spark的java源码,Spark源码包的编译
  13. php 数组导出csv_php导出百万数据到csv
  14. 自己写的Point类
  15. C#----接口的显式实现
  16. 汇编语言王爽 实验九
  17. 【Spring】源码浅析 - ResponseEntity.ok
  18. 神经内分泌肿瘤如何分级,神经系统分级调节概念
  19. 纯前端语言编写音乐播放器
  20. 【微博技巧】绕开微博绑定手机注册微博

热门文章

  1. 利用Invoke-Obfuscation混淆ps文件实现上线/VT免杀率3/55
  2. 微信小程序开发的开发模式有哪些?
  3. 出现 malformed or corrupted AST file: 'Unable to load module .pcm: module file out of date'错误
  4. uLab Systems在中国上海开设办事处以支持全球扩张
  5. iOS多线程概念总结
  6. vue 实现抽奖转盘
  7. A3950SLPTR-T IC MOTOR DRIVER 8V-36V 16TSSOP
  8. UCC28951QPWRQ1 IC REG CTRLR 24TSSOP 稳压器
  9. PCA9535CPW 集成电路 接口-IO扩展器 TSSOP-2
  10. graphx中Pregel函数详解