python数码时钟代码_Python实现时钟显示效果思路详解
语言:Python
IDE:Python.IDE
1.编写时钟程序,要求根据时间动态更新
2.代码思路
需求:5个Turtle对象, 1个绘制外表盘+3个模拟表上针+1个输出文字
Step1:建立Turtle对象并初始化
Step2:静态表盘绘制
Step3:根据时钟更新表针位置与时间信息
基本库:Turtle、datetime
3.代码段
from turtle import *
from datetime import *
def Skip(step):
penup()
forward(step)
pendown()
def mkHand(name,length):
#注册Turtle形状,建立表针Turtle
reset()
Skip(-length*0.1)
begin_poly()
forward(length*1.1)
end_poly()
handForm = get_poly()
#注册Turtle形状命令register_shape(name,shape=None)
register_shape(name,handForm)
def Init():
global secHand,minHand,hurHand,printer
mode("logo")# 重置Turtle指向北
#建立三个表针Turtle并初始化
#第二个参数为长度
mkHand("secHand",125)
mkHand("minHand",130)
mkHand("hurHand",90)
secHand = Turtle()
secHand.shape("secHand")
minHand = Turtle()
minHand.shape("minHand")
hurHand = Turtle()
hurHand.shape("hurHand")
for hand in secHand,hurHand:
hand.shapesize(1,1,3)
hand.speed(0)
#建立输出文字Turtle
printer = Turtle()
printer.hideturtle()
printer.penup()
def SetupClock(radius):
#建立表的外框
reset()
pensize(7)
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.000001
minute = t.minute + second/60.0
hour = t.hour + minute/60.0
secHand.setheading(6*second)
minHand.setheading(6*minute)
hurHand.setheading(30*hour)
#介入Tracer函数以控制刷新速度
tracer(False)
printer.forward(65)
printer.write(Week(t),align="center",font=("Courier",14,"bold"))
printer.back(130)
printer.write(Date(t),"bold"))
printer.home()
tracer(True)
ontimer(Tick,100)#100ms后继续调用tick
def main():
tracer(False)
Init()
SetupClock(160)
tracer(True)
Tick()
mainloop()
if __name__ == "__main__":
main()
补充:
Python实现时钟
1.小时钟获取当前时间并用打印在Console上
2.上代码
import time,sys,os
while(1):
t = time.strftime('%H:%M:%S',time.localtime(time.time()))
sys.stdout.write(t+'\b'*10)
sys.stdout.flush()
time.sleep(0.1)
os.system('cls')
3.解释
第一步:导入time,sys,os模块
第二部:实现无限循环
第三步:实现格式化输出,具体的详细使用方法,参见:这里
第四部:重定向到Console上
第五步:刷新
第六步:间隔0.1执行一次
第七步:清屏
python数码时钟代码_Python实现时钟显示效果思路详解相关推荐
- python统计汉字字数_Python 统计字数的思路详解
问题描述: 用 Python 实现函数 count_words(),该函数输入字符串 s 和数字 n,返回 s 中 n 个出现频率最高的单词.返回值是一个元组列表,包含出现次数最高的 n 个单词及其次 ...
- python处理excel大数据-Python实现大数据收集至excel的思路详解
一.在工程目录中新建一个excel文件 二.使用python脚本程序将目标excel文件中的列头写入,本文省略该部分的code展示,可自行网上查询 三.以下code内容为:实现从接口获取到的数据值写入 ...
- 怎么用python统计字数_Python统计字数的思路详解
这篇文章主要介绍了Python 统计字数的思路详解,文中还给大家提供了不借助第三方模块的解决方法,感兴趣的朋友一起看看吧 问题描述: 用 Python 实现函数 count_words(),该函数输入 ...
- python多进程应用场景_python使用多进程的实例详解
python多线程适合IO密集型场景,而在CPU密集型场景,并不能充分利用多核CPU,而协程本质基于线程,同样不能充分发挥多核的优势. 针对计算密集型场景需要使用多进程,python的multipro ...
- python的socket模块_Python socket模块方法实现详解
这篇文章主要介绍了python socket模块方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 socket ssh (不带防止粘包的方 ...
- python的底层实现_Python底层封装实现方法详解
这篇文章主要介绍了Python底层封装实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 事实上,python封装特性的实现纯属" ...
- python怎样实现封装_Python底层封装实现方法详解
Python底层封装实现方法详解 这篇文章主要介绍了Python底层封装实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 事实上,pyth ...
- python实现括号匹配算法_Python实现括号匹配方法详解
这篇文章主要简介了python实现括号匹配方法详解,文中通过示例代码简介的非常具体,对大家的学习或者工作具有一定的参考学习网上卖,需要的朋友可以学习下 1.用一个栈[python中可以用List]就可 ...
- python列转行函数_Python pandas 列转行操作详解(类似hive中explode方法)
最近在工作上用到Python的pandas库来处理excel文件,遇到列转行的问题.找了一番资料后成功了,记录一下. 1. 如果需要爆炸的只有一列: df=pd.DataFrame({'A':[1,2 ...
- python线程池原理_Python定时器线程池原理详解
这篇文章主要介绍了Python定时器线程池原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 定时器执行循环任务: 知识储备 Timer(int ...
最新文章
- PPT|工业互联网关键技术专利态势
- 高职职业技能测试题计算机,2019年高职高考职业技能测试信息技术考什么?
- 蓝桥杯 基础练习 十六进制转八进制
- android okgo参数,Android OkGo基本操作
- su、sudo、限制root远程登录
- 深入Redis持久化 1
- 科技信息它们叫嚣:没有我们,谈什么iPhone8!
- C语言—各种数据类型间的混合运算
- 学计算机买笔记本还是平板,学生买平板还是笔记本电脑好
- 如何批量实现通过MP3标题重命名文件名
- android监控树莓派,树莓派定制为无线便携监控摄像头
- 【PCB Layout】信号抗干扰经验总结
- 基础实验 7-2.1 魔法优惠券(25 分)
- explicit c++
- unity做一个小游戏(适合零基础或者巩固加深unity中的工具类的用法)
- 惠普找不到远程服务器,惠普笔记本搜不到wifi怎么办
- python字符串的查找
- 东财mysql作业_学习平台-15秋东财《MySQL数据库系统及应用》在线作业二(随机)-成人高等教育_成人本科教育报名_远程网络教育学院-江苏学历网报名服务中心...
- oracle中执行某sql语句后,如一系列delete、update等操作,怎么看影响的行数?如我执行了n个表的delete语句,得看我删除了多少数据,万一sql写的有问题,误删了数据,不是灾难?
- 收藏|机械工程师面试常问问题
热门文章
- Tesseract字体识别 及 jTessBoxEditor工具进行训练 及 Java API实现字体识别
- chrome的手机端调试
- 科技云报道:“吞金兽”ChatGPT背后:AI算力告急!
- 腾讯开源柠檬 Lemon
- 上帝视角,什么是生态思维(上)
- 关于驱动和设备的相关的注册表键的位置,和相关信息
- 魔力耳朵被豌豆思维全资收购,创始人金磊退出股东
- CAXA实体设计2020 怎么样对同一草图中的多个轮廓分别进行拉伸?
- SpringBoot数据脱敏
- php libmcrypt.dll下载,libmcrypt.dll 64位下载|