前言
语言是工具,用来实现想法的工具,而非目的。Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
Turtle是python中引入的一个非常简单绘图工具,可以用非常简短的、简单的程序来创建极其漂亮的、复杂的视觉效果。虽然海龟绘图所具备的python知识体系不适合用来为学生构造系统全面而又扎实的个人知识链,但却很容易引起孩子的好奇心,激发孩子的兴趣点,满足孩子的成就感,所以具备成为python试听课的先天优势。
在教学实践活动中,之所以选择“绘制桃心”作为试听课,除了其具备turtle绘图简单和视觉化的效果之外,还有就是它的代码逻辑简单,图形结构只有两个部分组成,容易让初次接触代码编程的孩子接受和理解,也方便老师针对不同接受能力的孩子酌情增减代码,实现差异化教学,让每个孩子都有一种感受:来时似懂非懂,上完课豁然开朗又有新的探求需求。
课堂导入
1)师生问好,在黑板上写出学生和老师的姓名。
2)情绪调节,通过故事,聊天,笑话,游戏等各种方式,放松学生的情绪,让学生尽快融入教学环境,接受老师,认同上课规则,形成轻松欢快的课堂氛围。
3)情景导入,运用问答,视频,图片,情景叙述等一种或多种方式导入今天上课的主题:编程——python——turtle——心形图案。
编程
编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。这种人和计算体系之间交流的过程就是编程。
编程并不难学,就像你用毛笔,钢笔,铅笔来写文章一样,不在于你哪种笔用的熟练,重要的是文章的内容有深度。编程也一样,重要的是逻辑,逻辑思维很严谨,发散型思维很强,就能编出好东西。所以在少年时期,不是要把主要精力放到学习具体的编程语言上,而是在学习的过程中培养出自己的编程思维和算法思维。
Python
Python是一种计算机程序设计语言。 是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。 Python的创始人为荷兰人吉多·范罗苏姆 (Guido van Rossum)。 1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。 之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为Guido当时正在追一部电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus)![53a582a43b645c79a93abf6f619e6682.png](https://i-blog.csdnimg.cn/blog_migrate/398abae5e49c470ef19abc01eacc2208.png)
海龟绘图
海龟绘图最初源自20世纪60年代的Logo编程语言,之后一些很酷的 Python 程序员构建了turtle库,让其他程序员只需要import turtle,就可以在Python中使用海龟作图。 在海龟作图中,会有一个虚拟的海龟(箭头)在屏幕上来回移动。 这个海龟带着一只钢笔,绘图过程可以看作是一个小海龟行走用笔留下的轨迹。 通过编写代码,以各种模式移动海龟,可以绘制出令人惊奇的图片。心形图案
红色的心形在人们心中,象征着浪漫而热烈的爱,人们大多认为,心形指的就是怦然心动的心脏。 相互爱慕的情侣会通过赠送新兴物品,绘制心形图案来表达爱意,倾诉思恋; 心形是由两个半圆形突出部分拼在一起而成,上凹下尖。通常心形符号会以红色作为表示。 对某一事物的喜爱也可以用心形来表达,比如我们可以用python绘制出心形图案来表达对python的喜爱。设计思路
1.IDLE的使用方法。
2.绘制心形图案可以分为两个部分:绘制形状和填充颜色。
填充颜色比较简单,直接用相关代码可以直接完成。
绘制形状有多种方式,这里用一种比较简单的方法。可以把心形看成是四条线合
起来的封闭图形,下半部分为两条相同的线段,上半部分为两条相同的弧线。
由
综上所述,绘图步骤就可以是先画出一条直线,然后再画出相邻的弧线,接着再画出剩下的弧线和直线。
代码解析
1.导入turtle绘图,在Python的IDLE环境中已经内置了turtle模块,无需重新下载,直接输入import turtle从标准库里面引入turtle就可以用海龟作画了。然后用把导入的海龟赋值为t代替,可以简化后面的代码输入。
2.规定海龟作图的速度为1,可以清晰地观察到绘图的移动轨迹,便于理解代码逻辑。同时规定画笔的颜色为red。
3.t.begin_fill()和t.end_fill()代码用来填充颜色,会按设置的颜色填充位于它们之间的代码画出来的图形。这里填充颜色为画笔颜色red,不做设置。
4.画左侧的直线,海龟起始方向为0度(箭头水平向右指向,即3点钟方向),逆时针旋转为左转。先左转140度让海龟指向正确的前进方向,然后向前移动111.65像素(可以微调)。
5.画左侧的弧线,用的是微积分法则,每次右转1度后移动1像素,这个动作一共执行了200次,最终右转了200度,形成一个200度的分线圆弧。这里用for循环来规定这个动作的循环次数。
6.画右侧弧线前应该先调整方向,左侧弧线画完海龟指向-60度,与中心y轴线夹角为60度,所以需要先左转120度使海龟面向60度,保持左右弧线与y轴线夹角相同。
7.画右侧弧线和直线,代码与左侧相同。
8.最后隐层海龟(箭头),结束绘图。
9,定义函数,两条弧线的代码相同,可以对这一段画弧线的代码定义函数,在需要画弧线的时候调用函数。定义的函数需要放在调用之前,这样调用curvemove()时才能起到作用。
关注微信公众号,后台回复心形图案,免费获取源代码。