前面我们讲解了使用海龟库(turtle)绘制图形的基本流程,重点是掌握参考坐标系以及基本绘制步骤。

少儿Python编程培训手册系列之——平面图形绘制的基本思路

本文中,我们通过几个简单案例学习掌握绘制图形的一般规律。

01案例一:绘制四个相切圆

题目要求:绘制四个相切圆,直径分别为100、70、40、10。

首先,需要将直径换算为半径:50、35、20、5,因为函数circle(半径)传入参数要求为半径。

最常规的实现代码,是调用四次circle()函数。即:

t1.circle(100/2)t1.circle(70/2)t1.circle(40/2)t1.circle(10/2)

如果能够找到规律,可以让代码变得更简单。上述代码中其实就是调用circle()函数四次,每次传入参数不同而已。

我们可以加入循环,循环就是重复不停地做相同的事情;再找到循环变量和画圆参数之间的规律即可。

第一个圆的半径为50,每次按15的节奏递减,直到绘制完半径为5的圆。这样就可以使用range()函数,传入如下参数:range(50,0,-15)。

或者由小到大绘制,传入这样的参数也可以:range(5,51,15)。

还可以这样:循环四次,循环变量i依次为0、1、2、3,再在绘制圆的过程中构造递减的表达式:100/2-i*15。

分析这个表达式,当i等于0时,结果为50,绘制半径为50的圆;当i等于1时,结果为35,绘制半径为35的圆……正好符合题目要求的参数值。

【扩展】思考如何绘制以坐标原点为中心的同心圆呢?

仔细观察画笔绘制圆的轨迹,可发现:默认小海龟从坐标原点出发,逆时针旋转一圈画圆;然后,再回到起始点。

所以,绘制同心圆。我们需要将画笔向下移动一定的距离,即改变y的坐标,x坐标保持不变为0。参考代码如下:

循环体内,每次需要抬笔和落笔功能。

02案例二:绘制一个正多边形

绘制正多边形有这样一个结论:用360°去除以绘制的边数,即可得到旋转角度。

比如:正三角形的旋转角度(360/3=120°)、正四边形的旋转角度(360/4=90°)、正八边形的旋转角度(360/8=45°)。其他以此类推。

那么,我们要绘制一个正八边形呢?

使用循环结构,循环八次。每次前移一定距离,再旋转(360/边数)的角度,这里旋转的就是45°角。参考代码如下:

有了这样的结论,其他的正多边形都可以信手拈来,小菜一碟了。只需要稍微改几个参数即可。

03案例三:绘制由多种颜色组成的正螺旋线

比如,这样的图形:

这是由八种颜色组成的正八边形螺旋线结构图,颜色依次为:红(red)、绿(green)、蓝(blue)、黄(yellow)、紫(purple)、橙(orange)、黑(black)、粉(pink)等八种。

绘制思路:

首先,需要创建一个颜色列表list,含有八种颜色元素。第二,前移一定距离,这个距离值是由小到大逐级递增的过程。第三,旋转一定角度,可参照案例二的结论。最后,考虑画笔的颜色,每8次(边数)为一个周期循环颜色列表。参考代码如下:

其他的正螺旋线,也是如此规律。

【扩展】如果是有一定旋转角度的螺旋线呢?比如,这样的图形:

解题思路:只需要在正螺旋线的基础上,让旋转角度多偏移1-2°即可。修改上述案例中最后一行的代码:

t1.left(360/8+1)

让本来是45°偏移的角度,变成46°偏移,就形成了这样扭曲旋转的螺旋线。

04小结

通过绘制同切圆,我们需要探索更优的代码方案。

通过绘制正多边形、正螺旋线或带一定偏移度的螺旋线,我们需要记住一个规律:用圆周(360°)除以绘制的边数,即可得到旋转角度。

最后,当程序报错的时候,大家需要学会分析错误出现的原因,能够自行解决一些基本问题。

比如,图示中错误信息很多。学会抓住核心字眼:bad color(错误颜色),bad color string:gren。就能找到原来我们在列表中“绿色”这个颜色的单词写错了,正确的拼写应该是:green。

程序出错不可怕。所谓:见多识广。很多事情见得多了,知道的也就会越来越多。在每次错误当中,去发现和解决问题,不是一件很有趣的事情吗?而且,更有助于我们快速成长。

python儿童编程培训相关推荐

  1. 儿童编程培训都学什么

    前两年的时候儿童编程培训还是属于小众课程,国内了解的人并不多,然而随着国家政策的利好,儿童编程教育已经越来越被大家所熟知.不过虽然听过,但是真正了解儿童编程培训课程的家长却并不多,提及儿童编程培训课程 ...

  2. python编程有用吗-python儿童编程有必要学吗

    技能通常意味着读写能力,但在今天的数字世界中,仅仅有读写能力是不够的.今天给大家说一下让孩子学python编程有必要吗,供大家参考和阅读. python编程数字素养能够理解和使用技术,包括在线查找信息 ...

  3. python儿童编程培训班-儿童Python编程辅导班学费

    儿童Python编程辅导班学费 来源:教育联展网 编辑:佚名 发布时间:2020-04-23 导语概要 深圳小码精灵编程培训让孩子爱上自主学习,成为未来世界的佼佼者.快速咨询为什么学习少儿编程编程让孩 ...

  4. python儿童编程培训班-杭州比较好的儿童Python编程培训班推荐

    杭州比较好的儿童Python编程培训班推荐?如今少儿编程培训机构品牌繁多, 报名前大家都会认真对比和参考,关于少儿编程培训机构哪家好,谁也不能给出的标准答案,因为每个人的评判标准不一样,还是要看个人选 ...

  5. python儿童编程培训班-北京哪有儿童python编程培训班

    北京哪有儿童python编程培训班 来源:北京童程童美少儿机器人编程培训学校 时间:2019-04-19 北京哪有儿童python编程培训班--优选北京童程童美少儿机器人编程培训学校,童程童美专注于中 ...

  6. python儿童编程要 编玩边学-“儿童编程的步骤。“python 编玩边学教程

    有哪些python写的游戏 python编程游戏有哪些?给介绍几款由Python开发的游戏: 1. Github上面项目Free Python Games,里面了不少的Python开发的小游戏,能玩, ...

  7. python游戏编程培训

    准备好了吗?我们即将开始激动人心的游戏编程之旅. 或许你之前学习过一点编程,但若是你从没接触过游戏编程,那么你仍然会对游戏程序的运行感到不解.游戏程序不像计算一个公式或谜题,得到答案之后程序就结束了, ...

  8. python儿童编程培训班-儿童编程培训班有用吗

    深圳小码精灵编程培训 让孩子爱上自主学习,成为未来世界的佼佼者. 快速咨询 让孩子学习少儿编程的好处 1.孩子解决问题的能力更强,孩子在玩编程类游戏/操作计算机时,需要将Ta要完成的任务分为大大小小的 ...

  9. python儿童编程例子代码-认识Python

    Python是什么 要开始编写代码,必须讲计算机的语言.计算机需要按部就班的指令,而且它们只能够理解特定的语言.就像俄国人可能不懂英语一样,计算机只能够理解为它们而制定的语言. 计算机代码使用诸如Py ...

最新文章

  1. 送一款巧克力式绝美键盘!真香!
  2. FFmpeg windows软件开发环境搭建
  3. 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
  4. 【图像分割模型】实例分割模型—DeepMask
  5. [loj6391][THUPC2018]淘米神的树(Tommy)
  6. Linux高级编程--05.文件读写
  7. Django从理论到实战(part30)--Meta配置
  8. Python 反爬篇之 ID 混淆
  9. 本地计算机用plsql访问虚拟机中的oracle数据库
  10. 最全元素水平垂直居中方法
  11. hog函数的用法 python_Python中的基本函数及常用用法简析
  12. Topological Spaces(拓扑空间)
  13. [GDAL]3.影像金字塔构建
  14. 初接触设计模式 导航(一)
  15. java直播功能_java如何实现秀场直播功能?基于即构SDK开发
  16. 北京理工大学小学期乐学 t23树上统计
  17. swat模型_文献分享——欧洲大陆尺度水质模型高分辨率大尺度SWAT模型率定及不确定性分析...
  18. 什么是ctfmon.exe,为什么运行?
  19. ThinkPad SL400 使用经验小记
  20. Vulkan编程指南翻译 第六章 着色器和管线 第2节 SPIR-V 概述

热门文章

  1. 用好销冠话术库,业绩增长十倍
  2. win10 linux分区大小调整大小,如何在windows系统中调整分区大小(包括windows10/8/7)...
  3. 什么叫高内聚、低耦合?
  4. DIV+CSS网页设计常用布局代码
  5. -moz-zoom-in 和-moz-zoom-out
  6. cortex-a9 架构概览
  7. 计算机管理为什么没有端口,Win7设备管理器没有端口选项的三大原因及解决措施...
  8. vue elementUI 时间控件优化 选择起始时间不能在结束时间之后,结束时间不能在起始时间之前
  9. 测试人员如何区分前端和后台BUG方法流程
  10. jenkins下载插件慢