有趣的Python turtle绘图

来源 :中国科技教育 | 被引量 : 0次 | 上传用户:hulei_1188
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  Python turtle的发展
  Python中的turtle模塊受启发于在欧美有着广泛基础且历史悠久的LOGO语言。LOGO语言形式非常直接,通过一组简单的指令就可以指挥计算机在屏幕上绘制出或极具现代感或抽象复杂的图像。正是因为LOGO教学的广泛开展,使得很多青少年不再将编程等同于geeks或nuts的专长,并对数学、逻辑和计算机等相关学科产生了浓厚的兴趣。
  初代turtle模块随2001年12月21日发布的Python 2.2版本被添加到了Python标准库之中。后经多个版本的调整逐渐稳定并形成当前版本中的功能和操作。
  Python turtle是向LOGO语言的致敬,可以通过turtle .mode0函数予以调整,尽最大可能还原LOGO语言中小海龟操作的特点。
  随着Python语言的流行和普及,一位名叫Ram Rachum的网络工程师重构了Python turtle并单独封装形成了一款叫作PythonTurtle的教学软件,可以在Windows和Mac计算机上安装和运行。
  Python海龟绘图课
  在正式上课之前,请注意:
  (1) Python是一种开放标准的通用开发语言,不少组织发行了各具特色的版本。本文所载程序使用的Python编译器为CPython(官方社区发行版本)3.7.3。当然,如果读者使用其他发行版就不能运行示例脚本。当出现意外情况时,请您在检查时考虑版本因素。
  (2)尽管现在互联网上有很多在线版本的Python运行环境(无论是Python官方社区的Interactive Shell,又或者各大厂家提供的在线Jupyter Notebook服务),并且turtle是Python标准库,但是由于无法加载并创建tkinter.Canvas画布的原因,所以在线平台无法让海龟畅游作画。
  本文以偏概全仅对绝大多数常用turtle模块函数进行梳理,希望能对初学者有所引领。学习Python晟好的平台当然还是官方社区提供的文档站点,读者可以访问https://docs.python. org/zh-cn/3/Library/turtle. html进行更为全面的学习。
  让海龟畅游起来
  挥毫创作当然要首先学会运笔。Python Turtle的基础就是让海龟能够在画布中畅快遨游。
  有了表1这些基础我们就可以绘图了。
  怎么turtle画图一上来就让读者碰了钉子?也许你觉得海龟画图太过平淡,那我们就在上面程序的基础上加入for循环做点儿炫目的效果。这里我有意识地使用了2个之前没有讲解过的turtle模块中的绘图函数,相信聪明的读者在阅读源代码的过程中一定能够理解其中深意。
  “油漆桶”工具
  一笔一笔“挥毫”虽然有趣,但如果需要大面积着色时还是“泼墨”画法更有效率。表2中的一组turtle函数不但完成画笔“油漆桶”般的填充着色功能,而且还能设置和判断海龟绘图时的状态。
  准备好了吗?这回我们加入了函数这种结构化程序设计的技术优化脚本,现在要验证所学的新知识了。
  用Python turtle打太极,是不是很有趣?
  互动绘图板
  Python turtle除了能够完成基本的绘图任务之外,还可以在程序中添加键盘和鼠标交互函数,制作出具有互动功能的程序甚至小游戏。下面是与交互有关的常用函数,让我们一起来学习一下吧。
  有了表3这些函数的辅助,我们就可以制作一个绘图板程序。在操作时,鼠标左键控制“画笔”在绘图板中运动,鼠标中键可以切换绘图时的颜色,鼠标右键控制图形填充及“画笔”在绘图板上的“落笔”“抬笔”操作。
  总结
  turtle绘图模块受LOGO语言启发而创建,能够有效激发初学者的学习热情并释放创意。turtle绘图模块仅仅是Python不断发展壮大标准库中的其中一员,无论是浅尝辄止热衷于在计算机上挥毫泼墨,还是循序渐进探究前沿科技,都是一个非常具有潜力的终南捷径。
  参考资料
  Python turtle官方文档(https://docs.python.org/zh-cn/3/library/turtle.html)
其他文献
设计思维是一套创新式解决问题的方法学,也就是一种以解决方案为导向的思维形式。它不是从某一个问题入手,而是从目标或者要达成的成果入手,找出解决方案的过程。设计思维在
1995年4月26~28日,’95北京台商投资洽谈会在北京隆重召开。全国人大副委员长李沛瑶、全国政协副主席王兆国、全国台联会会长张克辉以及北京市领导和大陆、台湾工商界朋友共10
介绍了虚拟仪器的特点和组成.基于LabVIEW开发系统,用普通PC机的声卡代替价格昂贵的商用数据采集卡,设计了一个简单的虚拟示波器,该系统能够正确采集声卡设计频率范围内的信
在校园里,我们经常看到水哗啦啦地流着,学生无动于衷地走过。我们讲得再多,没有多少学生真正听得进去。于是,我们通过一系列微活动开展科技实践活动,让学生知道水的珍贵,了解
党的十八大以来,党中央、国务院紧抓政府职能转变,持续推进简政放权,不断提高政府效能。近日发布的《国务院关于授权和委托用地审批的决定》,将原来需报国务院审批的永久基本
青少年科技创新人才的培养一直是全球关注的话题,在创新人才培养的过程中,青少年科技辅导员起到了非常重要的作用。青少年科技辅导员是青少年科技活动的策划、设计、组织和指导者。培养优秀的科技辅导员,提高科技辅导员培训质量,对加强青少年科技辅导员队伍建设起到了至关重要的作用。  STEM教育强调围绕真实情景下的问题开展跨学科的综合性学习,培养学生的问题解决能力和创造性思维方式,进而解决实际生活中的复杂问题。
通过simulink仿真得到逆变器单纯PID控制系统输出的电压波形,从而选取合适的PID各个参数,再将自适应控制理论与PID控制相结合,以电压误差e(t)为状态变量,根据其大小调整PID各
这次新冠肺炎疫情对经济的巨大冲击效应,到目前为止尚未完全显露。其影响范围不仅仅在国内,更波及全球主要经济体,普遍认为这次的全球经济衰退总体上可能会比过往任何一次都
甘肃省景泰川电力提灌工程是跨省区、高扬程、多梯级、大流量的大Ⅱ型提灌工程。景电二期大型泵站更新改造项目于2011年开始实施,截至目前,批复的建设内容已基本完成。本文主
<正>2018年税后利润仅为1660万欧元,与上年相比暴跌了81.2%……德国机器人企业库卡(KUKA)临时CEO彼得·默恩(PeterMohnen)3月28日在2018年年报发布会上披露。彼得·默恩接任