有趣的Python turtle绘图 您所在的位置:网站首页 turtle画图填充颜色 有趣的Python turtle绘图

有趣的Python turtle绘图

#有趣的Python turtle绘图| 来源: 网络整理| 查看: 265

原标题:有趣的Python turtle绘图

Python Turtle是Python的一个编程教育类库,越来越受到教育者的关注,近日,以“智能时代,逐梦成长”为主题的第5届全国青少年创意编程与智能设计大赛正式开始,本届大赛增加了Python创意编程比赛。科技学堂也开设了《Python-Turtle图形编程入门》帮助教师掌握Python并应用于课程中。

来源 | 《中国科技教育》2019年第6期

作者 | 毛京宇/北京师范大学第三附属中学 魏云靖/北京市师达中学

01

Python turtle 的发展

Python 中的turtle 模块受启发于在欧美有着广泛基础且历史悠久的LOGO 语言。LOGO语言形式非常直接,通过一组简单的指令就可以指挥计算机在屏幕上绘制出或极具现代感或抽象复杂的图像。正是因为LOGO 教学的广泛开展,使得很多青少年不再将编程等同于geeks 或nuts 的专长,并对数学、逻辑和计算机等相关学科产生了浓厚的兴趣。

初代turtle 模块随2001 年12 月21 日发布的Python 2.2 版本被添加到了Python 标准库之中。后经多个版本的调整逐渐稳定并形成当前版本中的功能和操作。

Python turtle 是向LOGO 语言的致敬,可以通过turtle.mode 函数予以调整,尽最大可能还原LOGO 语言中小海龟操作的特点。

随着Python 语言的流行和普及, 一位名叫Ram Rachum 的网络工程师重构了Python turtle 并单独封装形成了一款叫作PythonTurtle 的教学软件,可以在Windows和Mac 计算机上安装和运行。

02

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进行更为全面的学习。

03

让海龟畅游起来

挥毫创作当然要首先学会运笔。Python Turtle的基础就是让海龟能够在画布中畅快遨游。

有了表1这些基础我们就可以绘图了。

怎么turtle画图一上来就让读者碰了钉子?也许你觉得海龟画图太过平淡,那我们就在上面程序的基础上加入for循环做点儿炫目的效果。这里我有意识地使用了2个之前没有讲解过的turtle模块中的绘图函数,相信聪明的读者在阅读源代码的过程中一定能够理解其中深意。

04

“油漆桶”工具

一笔一笔“挥毫”虽然有趣,但如果需要大面积着色时还是“泼墨”画法更有效率。表2中的一组turtle函数不但完成画笔“油漆桶”般的填充着色功能,而且还能设置和判断海龟绘图时的状态。

准备好了吗?这回我们加入了函数这种结构化程序设计的技术优化脚本,现在要验证所学的新知识了。

用Python turtle打太极,是不是很有趣?

05

互动绘图板

Python turtle除了能够完成基本的绘图任务之外,还可以在程序中添加键盘和鼠标交互函数,制作出具有互动功能的程序甚至小游戏。下面是与交互有关的常用函数,让我们一起来学习一下吧。

有了表3这些函数的辅助,我们就可以制作一个绘图板程序。在操作时,鼠标左键控制“画笔”在绘图板中运动,鼠标中键可以切换绘图时的颜色,鼠标右键控制图形填充及“画笔”在绘图板上的“落笔”“抬笔”操作。

06

总结

turtle绘图模块受LOGO语言启发而创建,能够有效激发初学者的学习热情并释放创意。turtle绘图模块仅仅是Python不断发展壮大标准库中的其中一员,无论是浅尝辄止热衷于在计算机上挥毫泼墨,还是循序渐进探究前沿科技,都是一个非常具有潜力的终南捷径。返回搜狐,查看更多

责任编辑:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有