
内 容 简 介本书通过构建多种几何图形或函数曲线的程序实例,由浅及深地阐述Python编程在画几何图形时所需要的知识和方法。每个实例都会让读者体会到几何组合图形的美观和编程思维的精妙,初步建立数学建模、程序分析、程序设计的思维。本书不是侧重Python编程语法,而是重在从解决实际数学问题的角度出发阐述程序设计的逻辑和实现代码,其中涉及的必要的和基本的编程知识及概念,也会讲解。本书适合具备小学和初中几何知识的读者在入门学习Python编程时使用,可在老师的辅导下学习和使用。
前言 写作背景 简单的边角关系,构成美丽的图案,从这个角度可以看出数学规律之精美,编程思维之奇妙。数学知识和编程思维的结合,能够大幅拓展各自的边界,绽放出跨界融合后的绚丽花朵。 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月
目录 环境准备——安装Python / 1 实例01 从“点”开始 / 5 1.1 任务描述 / 5 1.2 数学知识点 / 5 1.3 编程知识点 / 6 1.4 任务分析 / 13 1.5 程序设计 / 14 1.6 运行结果 / 14 1.7 发散思考 / 15 1.8 挑战自我 / 16 参考程序 / 16 本章小结 / 18 实例02 五彩点图 / 19 2.1 任务描述 / 19 2.2 数学知识点 / 19 2.3 编程知识点 / 20 2.4 任务分析 / 27 2.5 程序设计 / 28 2.6 运行结果 / 29 2.7 发散思考 / 29 2.8 挑战自我 / 31 参考程序 / 31 本章小结 / 32 实例03 超炫的三角形 / 33 3.1 任务描述 / 33 3.2 数学知识点 / 33 3.3 编程知识点 / 34 3.4 任务分析 / 36 3.5 程序设计 / 37 3.6 运行结果 / 38 3.7 发散思考 / 38 3.8 挑战自我 / 40 参考程序 / 40 本章小结 / 41 实例04 叠加三角形 / 42 4.1 任务描述 / 42 4.2 数学知识点 / 42 4.3 编程知识点 / 43 4.4 任务分析 / 46 4.5 程序设计 / 47 4.6 运行结果 / 48 4.7 发散思考 / 49 4.8 挑战自我 / 51 参考程序 / 51 本章小结 / 53 实例05 正方形组合图形 / 54 5.1 任务描述 / 54 5.2 数学知识点 / 55 5.3 编程知识点 / 56 5.4 任务分析 / 59 5.5 程序设计 / 61 5.6 运行结果 / 62 5.7 发散思考 / 63 5.8 挑战自我 / 64 参考程序 / 65 本章小结 / 66 实例06 正方形和内切圆 / 67 6.1 任务描述 / 67 6.2 数学知识点 / 67 6.3 编程知识点 / 69 6.4 任务分析 / 74 6.5 程序设计 / 76 6.6 运行结果 / 77 6.7 发散思考 / 77 6.8 挑战自我 / 79 参考程序 / 79 本章小结 / 80 实例07 叠边形花篮 / 81 7.1 任务描述 / 81 7.2 数学知识点 / 82 7.3 编程知识点 / 84 7.4 任务分析 / 89 7.5 程序设计 / 91 7.6 运行结果 / 92 7.7 发散思考 / 93 7.8 挑战自我 / 93 参考程序 / 94 本章小结 / 95 实例08 五角星构成的图形 / 96 8.1 任务描述 / 96 8.2 数学知识点 / 96 8.3 编程知识点 / 97 8.4 任务分析 / 101 8.5 程序设计 / 104 8.6 运行结果 / 106 8.7 发散思考 / 106 8.8 挑战自我 / 108 参考程序 / 108 本章小结 / 110 实例09 圆弧组成的花 / 111 9.1 任务描述 / 111 9.2 数学知识点 / 112 9.3 编程知识点 / 112 9.4 任务分析 / 115 9.5 程序设计 / 116 9.6 运行结果 / 117 9.7 发散思考 / 117 9.8 挑战自我 / 119 参考程序 / 120 本章小结 / 121 实例10 函数曲线 / 122 10.1 任务描述 / 122 10.2 数学知识点 / 122 10.3 编程知识点 / 123 10.4 任务分析 / 127 10.5 程序设计 / 129 10.6 运行结果 / 131 10.7 发散思考 / 132 10.8 挑战自我 / 134 参考程序 / 134 本章小结 / 136 附录一 常用turtle库函数分类及使用示例图 / 137 附录二 常用math库函数分类及使用示例图 / 138 附录三 turtle画图参考实例 / 139
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=TP383140