Python中Turtle绘图函数-绘制时钟程序

Turtle常用的一些函数,
参考博客:http://blog.csdn.net/zengxiantao1994/article/details/76588580

时钟代码设计
  • 我们可以通过main函数查看整个时钟代码的设计
  • 设计指针(Init())并显示指针:设计指针的方向(turtle.mode(“logo”)),设计指针的长度、线宽,最后通过name注册该指针,函数最后结果为显示三个指向正上方的指针,三个指针重合。
  • 建立表的外框(DrawClock()):绘制0的60的每分钟圆点,如果是整点,就绘制整点标志
  • 开始动态运行时钟(Tick( )):获取当前的时间,依据当前时间得到每个指针该指向的方向角度,然后更改指针的指向,如secHand.setheading(角度)。写当前的日期。调用turtle.ontimer( )函数进入循环调用
时钟代码如下

绘制时钟的代码,选自慕课网嵩天老师《Python语言程序设计》

from turtle import*
from datetime import*# 移动距离,但是不绘制
def Skip(step):penup()forward(step)pendown()# 画表盘
def DrawClock(radius):reset()  # 将乌龟返回初始位置pensize(7)for i in range(60):Skip(radius)if i%5 == 0:forward(20)Skip(-radius - 20)else:dot(5)  # 绘制圆点turtle.dot(直径)Skip(-radius)right(6)def mkHand(name, length):reset()Skip(-length*0.1)begin_poly()forward(length*1.1)end_poly()handForm = get_poly()'''''begin_poly -- 开始记录,end_poly -- 结束记录,get_poly -- 绘画记录点'''register_shape(name, handForm)  # 给handForm形状起名def Init():global secHand, minHand, hurHand, printer  # 定义这三个是全局变量mode("logo")'''''三种模式:standard,logo,world。turtle方向    默认运动方向standard:    向右(朝东)  逆时针logo    :    向上(朝北)  顺时针world -- 自定义'''mkHand("secHand", 125)mkHand("minHand", 130)mkHand("hurHand", 90)secHand = Turtle()secHand.shape("secHand")  # 对于该turtle变量赋值形状minHand = Turtle()minHand.shape("minHand")hurHand = Turtle()hurHand.shape("hurHand")for hand in secHand, minHand, hurHand:hand.shapesize(1, 1, 3)  # 调整三根指针的粗细hand.speed(0)printer = Turtle()printer.hideturtle()  # 隐藏箭头printer.penup()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)tracer(False)printer.forward(65)  # 前进65写星期printer.write(Week(t), align="center", font=("Courier", 14, "bold"))printer.back(130)   # 退后130写时间printer.write(Date(t), align="center", font=("Courier", 14, "bold"))# write函数中可以把指定的内容进行书写printer.home()tracer(True)ontimer(Tick, 100)  # 计时函数用来控制刷新时间。单位-毫秒def main():tracer(False)  # 关闭绘画追踪,可以用于加速绘画复杂图形Init()DrawClock(160)tracer(True)Tick()mainloop()  # mainloop则是主窗口的成员函数,# 开始接收鼠标的和键盘的操作。你现在就能够通过鼠标缩放以及关闭这个窗口了。if __name__ == "__main__":main()

代码运行效果图:
这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5G的未来投资机会在哪里?

来源:网易智能日前,为了更好地以资本助推5G产业发展,中国移动投资公司与中国移动研究院联合发布了《洞见5G,投资未来——中国5G产业发展与投资报告》,分析了5G对生产和生活带来的变革,研判5G产业建设的投资…

python在windows系统中安装pandas,numpy

进入python的安装目录的sripts文件夹下, 在该文件夹下进入命令行,在命令行输入pip install pandas 等待成功安装 转载自:https://www.cnblogs.com/xuqiulin/p/6623154.html

华为5G首席科学家童文 | 5G:万物连接平台 智能世界基石

华为5G首席科学家、华为Fellow童文博士来源:华为2019年是5G产业进入全面商用的关键一年,全球5G网络的部署已经启动。2018年6月,5G独立组网标准冻结,5G完成了第一阶段全功能eMBB标准化工作;12月6日, 中国三大运营商获得…

深度解密:软银孙正义如何成为美国硅谷最有权势之人

来源:腾讯科技摘要:据外媒报道,伊隆马斯克、杰夫贝索斯亦或是马克扎克伯格(,都不如日本亿万富翁孙正义那样,对AI驱动的未来有着最大胆的愿景。在孙正义看来,未来机器将控制着我们的生活方式。为了实现这个愿…

自动驾驶之路已走了多远?一文读懂研究现状

作者:Claudine Badue等编译:机器之心 Panda摘要:自动驾驶载具或将引爆人类的下一次出行方式革命,而我们目前又已经走到了哪一步?近日,巴西圣埃斯皮里图联邦大学的研究者在 arXiv 上发布了一篇自动驾驶汽车研…

真的超越了波士顿动力!深度强化学习打造的 ANYmal 登上 Science 子刊

编译:机器之心深度强化学习开发出的机器人模型通常很难应用到真实环境中,因此机器人开发中鲜少使用该技术。然而这已经板上钉钉了吗?在两天前引发人工智能界关注的 ANYmal 机器人中,其机动性和适应性看起来丝毫不逊色于波士顿动力…

实例化Model的三种方式

转载于:https://www.cnblogs.com/toward-the-sun/p/4030010.html

人形机器人,穷途末路还是光明未来?

来源:任赜宇的知乎专栏摘要:今年 11 月初在北京召开的 IEEE/RAS Humanoids 会议中,作者去听了这样一个 Workshop: Humanoid Robotics: Dead-end or Bright Future? (人形机器人,末路还是光明的未来?) 再结合当前的形势…

全球自动驾驶政策概况及特征研究

来源:《中国信息通信研究院CAICT》近年来,美、欧、日等发达国家和地区将自动驾驶技术作为交通未来发展的重要方向,在技术研发、道路测试、标准法规、政策等方面为自动驾驶及其载体——智能网联汽车的发展提供政策支持,加快自动驾驶…

中心化,去中心化?关乎互联网未来命运的重要选

作者:刘锋 计算机博士 《互联网进化论》作者前言:不知不觉互联网的未来发展出现了分歧,当Facebook、谷歌等互联网巨头越来越强大的时候,反弹的声音也越来越大,人类社会的有识之士希望解决这个问题,由此导致…

Arcgis for javascript不同的状态下自定义鼠标样式

俗话说:爱美之心,人皆有之。是的,没错,即使我只是一个做地图的,我也希望自己的地图看起来好看一点。在本文,给大家讲讲在Arcgis for javascript下如何自定义鼠标样式。 首先,说几个状态。1、鼠标…

Facebook :AI 年度总结来啦

来源:AI 科技评论摘要:最近,Facebook 做了一份 AI 年度总结,详述了他们过去一年在 AI 上所做的代表性工作。在 Facebook,我们认为,人工智能以更有效的新方式学习,就像人类一样,可以在…

一文读懂可穿戴技术

来源:传感器技术可穿戴技术(wearable technology),最早是20世纪60年代由麻省理工学院媒体实验室提出的创新技术。利用该技术,可以把多媒体、传感器和无线通信等技术嵌入人们的衣物中,可支持手势和眼动操作等多种交互方式&#xff…

2019与下一个十年:我们将要放弃的和将要拥抱的

来源:资本实验室2019年,是连接21世纪前两个十年的过渡一年。在金融支付和商业领域中,2019年也有望成为激动人心的一年。在这一年中,每家企业、每个人都需要对过去十年中所追求的创新进行反思,并决定下一个十年前进的方…

麦肯锡发布调研,揭开“那些引入人工智能的企业都怎么了 ”

来源:亿欧智库摘要:根据麦肯锡的最新调研显示,人工智能技术普遍上得到企业接纳,但仍有不少企业在入门时就面临“不知道咋开门”的状况。新技术带来新问题,企业该如何应对?根据麦肯锡在全球范围内的调研&…

重磅!我国建成首个自动驾驶封闭高速公路测试环境

来源:智车科技摘要:根据工业和信息化部、公安部、江苏省人民政府共建“国家智能交通综合测试基地”的总体规划和建设要求,公安部交通管理科学研究所坚持“自动驾驶汽车产业发展与安全行驶并重”的指导思想,依据《中华人民共和国公…

单反相机内部光线反射原理

单反相机是照相机的一种,以独特的取景方式而命名。 它的全称是(可换)单镜头反光式取景照相机,(Single Lens Reflex Camera,缩写为SLR camera)一般简称为单反相机。它的含义是拍摄和取景共用用一…

面部识别技术走到十字路口?

来源:雷锋网摘要:向左走,还是向右走?近日,面部识别技术又遭遇“突发事件”。本周二,由90个倡议团体组成的小组给三巨头AAM(亚马逊、谷歌、微软)写信,要求三家公司承诺不向…

我与ARM的那些事儿2JINLK烧录nor flash

前言 最近在研究mini2440的友善之臂,但是我拿着的是实验室早期买的开发板,在做裸机开发的过程中老是不能很好地使用最新版的minitools进行烧录,因而各种不爽,因为生成了bin文件不能很好地传到mini2440中,作为一个对开…

基于opencv的gpu与cpu对比程序,代码来自opencv的文档中

原文链接: http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/gpu/gpu-basics-similarity/gpu-basics-similarity.html 代码中有错误,关于GpuMat OpenCV代码中没有对其进行操作符运算的重载,所有编译的时候有错误。对于GpuMat的运…