利用python Turtle库函数画一个实时钟表
最近学习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库函数画一个实时钟表相关推荐
- 利用Python海龟绘图画一个世界杯的足球
利用Python海龟绘图画一个世界杯的足球 花有重开日 人无再少年 四年一次的世界杯快要结束,为了纪念此次世界杯,特意用Python画了一个足球. 1.设计思路以及实现效果 世界杯足球实现思路: 首先 ...
- 用Python Turtle库画一个萌化的蜘蛛侠
你是从什么时候开始喜欢上漫威电影的?美国队长,钢铁侠,雷神? 我先入坑的是因为看了蜘蛛侠,小时候看完就幻想着什么时候自己也能成为一个英雄,我觉得第一代蜘蛛侠刻画得是最好的,也是给我印象最深刻的一代蜘蛛 ...
- python turtle库画一个五角星 【Python初学 绘制五角星】
一.常用命令 import turtle #导入turtle库 import time #时间模块 turtle.forward() #向前移动 turtle.right() #顺时针旋转 turtl ...
- 使用python Turtle工具画一个发射爱心的小人
最近在学Turtle,刚开始学,想画个发射爱心的小人,用turtle不太熟悉,画得不好,下面是效果图: 下面是代码,因为是刚开始学,又没学过画画,所以画的有点丑,大家多多见谅.下面是代码: from ...
- Python Turtle库画一个美国国旗
美国国旗 标准参考的是百度文库上面的标准:美国国旗标准 美国国旗标准 国旗宽度A=1.0 国旗长度B=1.9 联邦范围宽度:C=0.5385(7/13,7条间纹的阔度) 联邦范围长度:D=0.76(1 ...
- python画多个圆_python turtle库画一个方格和圆实例
python turtle库画一个方格和圆实例 使用python的turtle库画一个方格和圆 打开python编译器,导入turtle库 from turtle import * 首先画一个距离为1 ...
- 用python的Turtle库画一个笑脸
用python的Turtle库画一个笑脸 最近刚了解到python的turtle库,就简单的尝试一下,画一个笑脸. 效果图: 效果图看起来和原图的差别还是有点大,但是没关系,这只是一个尝试而已. 附上 ...
- 用python画小黄人步骤图-学Python画画:应用Turtle库画一个蠢萌的小黄人
学Python画画:应用Turtle库画一个蠢萌的小黄人 前言: 还记得小黄人哪只蠢萌蠢萌的单眼小黄人?就是喜欢做什么事都喜欢逞能的那只,下面用Python来实现一下,正在逃跑的小黄人.进群:7003 ...
- 用python画小黄人-学Python画画:应用Turtle库画一个蠢萌的小黄人
学Python画画:应用Turtle库画一个蠢萌的小黄人 前言: 还记得小黄人哪只蠢萌蠢萌的单眼小黄人?就是喜欢做什么事都喜欢逞能的那只,下面用Python来实现一下,正在逃跑的小黄人.进群:7003 ...
最新文章
- 数字图像处理:blob分析、阈值分割
- pandas_getdummies()
- 【重置版】Android studio高效开发的秘密
- Android开发学习笔记:对话框浅析
- 顶会快讯|5篇AAAI2020相关论文抢先看(附GitHub代码地址)
- perl学习(1) 入门
- 世纪联华的 Serverless 之路
- Scala入门到精通—— 第二节Scala基本类型及操作、程序控制结构
- 根据后序和中序求二叉树的层序
- centos 使vim支持+python和+python3
- 山西大学计算机应用专业,山西大学计算机应用技术专业
- spark的java源码,Spark源码包的编译
- php 数组导出csv_php导出百万数据到csv
- 自己写的Point类
- C#----接口的显式实现
- 汇编语言王爽 实验九
- 【Spring】源码浅析 - ResponseEntity.ok
- 神经内分泌肿瘤如何分级,神经系统分级调节概念
- 纯前端语言编写音乐播放器
- 【微博技巧】绕开微博绑定手机注册微博
热门文章
- 利用Invoke-Obfuscation混淆ps文件实现上线/VT免杀率3/55
- 微信小程序开发的开发模式有哪些?
- 出现 malformed or corrupted AST file: 'Unable to load module .pcm: module file out of date'错误
- uLab Systems在中国上海开设办事处以支持全球扩张
- iOS多线程概念总结
- vue 实现抽奖转盘
- A3950SLPTR-T IC MOTOR DRIVER 8V-36V 16TSSOP
- UCC28951QPWRQ1 IC REG CTRLR 24TSSOP 稳压器
- PCA9535CPW 集成电路 接口-IO扩展器 TSSOP-2
- graphx中Pregel函数详解