Python画出时钟
# coding=utf-8import 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()
关于turtle 库,请查看如下链接:
https://docs.python.org/zh-cn/3/library/turtle.html
Python画出时钟相关推荐
- echarts词云图形状_怎么用Python画出好看的词云图?
相信很多人在第一眼看到下面这些图时,都会被其牛逼的视觉效应所吸引,这篇文章就教大家怎么用Python画出这种图. 前期准备 上面的这种图叫做词云图,主要用途是将文本数据中出现频率较高的关键词以可视化的 ...
- python画动态爱心-使用Python画出小人发射爱心的代码
我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...
- python编程爱心-使用Python画出小人发射爱心的代码
我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...
- python画曲线-利用python画出AUC曲线的实例
以load_breast_cancer数据集为例,模型细节不重要,重点是画AUC的代码. 直接上代码: from sklearn.datasets import load_breast_cancer ...
- python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...
问题描述: 如何利用python画出一个多变的词云图? 解决方法:import numpy as np import matplotlib import matplotlib.pyplot as pl ...
- 频谱分析:基于python画出时域频域波形
一,FFT解释 FFT(Fast Fourier Transformation)是离散傅氏变换(DFT)的快速算法.即为快速傅氏变换.它是根据离散傅氏变换的奇.偶.虚.实等特性,对离散傅立叶变换的算法 ...
- 【深度学习】通过python画出loss曲线
通过python画出loss曲线 将训练过程中的running loss保存到文件 1.读取txt文件 2.取出相应列的数据作为绘图的x和y 3.先创建一幅图,再在这幅图上添加一个小图 4.画出整体的 ...
- python怎么画出圆润的曲线_利用python画出AUC曲线的实例
以load_breast_cancer数据集为例,模型细节不重要,重点是画AUC的代码. 直接上代码: from sklearn.datasets import load_breast_cancer ...
- python送心小人_使用Python画出小人发射爱心的代码
我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...
最新文章
- C++ 中NULL 和 nullptr 的区别
- java中JFrame类中函数addWindowListener(new WindowAdapter)
- Nature:MIT团队造全新声感织物,这件“毛衣”可以听到你的心跳
- UTF-8,UTF-16和UTF-32
- 未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342...
- mybatisplus 结果_springboot整合mybatisPlus 乐观锁的实现
- termcap - 终端功能数据库详解
- cshop是什么开发语言_国内程序员那么多,为什么不开发一个属于自己的编程语言?...
- Java学习6——基本数据类型及其转换
- 阿里面试记录-程序上机
- line-height和height的区别
- bootstraptable 一条数据跨行_据说它是唐山市拥有奶茶店最多的一条街,你一定也逛过!...
- mysql仿网易评论_仿网易新闻客户端评论盖楼
- 微服务调用Ribbon负载均衡、Feign的使用
- 使用Scratch制作打弹球游戏(一)弹球游戏过关
- windows安装idea2019.3.3
- 2022-2028全球多层共烧基板行业调研及趋势分析报告
- Chaya虚拟机学习 —— 启用Docker遇到的Bug
- arcgis 9.3/10.2.2/10.5版本下载
- Linux中计算特定CPU使用率