
前言
写作背景
简单的边角关系,构成美丽的图案,从这个角度可以看出数学规律之精美,编程思维之奇妙。数学知识和编程思维的结合,能够大幅拓展各自的边界,绽放出跨界融合后的绚丽花朵。
Python是免费开源的,任何人都可以从Python官网上免费下载Python的安装软件、源代码及其使用说明文档。越来越多的人喜欢使用Python编程,越来越多的行业开始应用Python。Python在人工智能、自动控制、游戏开发、图像与视频处理等很多领域有着广泛的应用,腾讯、阿里、豆瓣、谷歌、YouTube等也在使用Python。
Python编程能够促进学习者对数学几何图形和函数曲线的理解;另一方面,学习者通过对数学知识点的理解,能够编写出高质量的Python程序。
通过对Python编程和数学问题实例化讲解,学习者可以在培养数学运算和逻辑运算能力的基础上,训练出模块化、结构化、流程化的思维,提高对实际问题的洞察力和数学建模能力。这些能力只有在不断的编程实践中,才能逐渐培养出来。
学习方法
基于任务要求、任务分析和问题解决的学习方法比纯粹的编程语言学习更容易让读者接受。
一开始就坐而论道是不好的。我们应该立刻打开Python交互式Shell命令行,随机选择一个我们提供的画图程序,运行后看看画笔是如何在程序的控制下移动的。
本书有大量以几何知识和函数曲线知识为基础的Python程序实例,鼓励读者自行运行、修改、拆分、组装,看看自己的改动如何影响画笔运行的轨迹,进而影响最终的图形效果。一旦学习者在数学和几何知识的基础上,尝试利用Python画图,就会很快发现二者的巧妙结合带来的无穷乐趣,进而激发学习数学和编程的动力。
本书特点
从知识点的角度组织Python学习内容的书有很多,但针对青少年的以编程任务目标来组织Python学习内容的书却很少。
本书在《Python编程与初级数学》的基础上,进一步讲解Python编程实例,涉及的数学内容大多是小学、初中学生接触到的知识点。本书围绕构建各种几何图形或函数曲线的程序设计目标,由浅及深地阐述Python编程在画几何图形时所需要的知识和思维。本书虽然不主要讲解编程语法,但也会讲解在完成几何作图的程序实例中涉及的必要和基本的编程知识及概念。
本书对计算机软硬件环境要求简单,只要拥有一台电脑,安装好Windows操作系统和Python,便可以完成书中所有程序实例。可从电子工业出版社华信教育资源网站(www.hxdeu.com.cn)下载本书附带的源代码。
本书结构
本书一共包括10个Python编程实例,讲解10类图形的绘制方法。每个实例都包括编程能力要求的雷达图、任务描述、完成这个任务用到的数学知识点和编程知识点,然后给出任务分析、程序设计和运行结果。在此基础上,再提出几个发散性思考的问题,引导学习者进一步探索。在每个实例的最后,以“挑战自我”的形式提出一个类似的任务,让学习者自己完成。给出的“挑战自我”的参考程序可以正确执行,但它们不是唯一答案,学习者还可以探索其他可能的实现方式。
在学习和实践完10个画图程序之后,附录里总结了turtle库中画图的常用函数、math库中的常用函数。最后提供了7个常见的经典图形绘制的实例及其参考程序代码,大家可以学习和实践,最好能够给出更好的编程实现思路。
如果你还没有安装好Python程序,如果还不知道如何编写和运行一个Python程序,请按照本书的“环境准备”部分的内容完成Python环境及应用的安装,打开Python,再开始你的画图之旅。
适合读者
本书尤其适合广大青少年在Python编程入门时使用,也可以在加深相关几何图形知识的理解时参考。
致谢
首先感谢我的父亲和母亲,是他们的持续鼓励和默默支撑,使我能够长时间专注于计算机编程语言的科普写作。其次,要感谢我的妻子和孩子,温暖的家庭是我持续奋斗的原动力。
我还要感谢电子工业出版社的曲昕女士,曲昕女士对本书精益求精的工作精神,令我佩服,感谢她充分为读者考虑和持续付出的精神。
最后,感谢所有的读者朋友,你们的持续关注是原创作者最大的欣慰。
由于笔者水平有限,书中难免存在疏漏和错误之处,敬请批评指正。
王振世
2019年12月