12032| 1
|
[教程] Mind+Python turtle 课程——02 海龟画正方形 |
本帖最后由 木子呢 于 2021-9-10 14:58 编辑 第二课 海龟画正方形 目录:功能介绍 如果有做过上节课的项目扩展,这节课将很容易进行学习。首先需要实现海龟能在弹窗中实现直走并拐弯,可以直角,也可以以其它角度进行拐弯。之后让海龟画走出一个正方形出来,再结合循环和变量优化代码,能让海龟实现在弹窗中走出正方形的效果。课程会分为两个任务的形式进行,下表为课程任务及涉及到的知识点。
项目实践 任务一:海龟直走并实现拐弯 1、任务分析 经过上节课的课程学习,我们对海龟绘图有了一定的了解,也新认识了库、注释、函数的用法。在上一节课的学习基础上,我们增加让海龟向前移动的代码,让其能在弹窗中显示出来。 代码如下:
运行此段程序,可以看到海龟先向前走了一段距离(100像素)之后,拐弯90度。 4、代码释义 4.1代码中turtle库left()函数的使用
4.1.1代码解释 此段带代码为调用海龟绘图(turtle)的“left(90)”函数,能让海龟在弹窗中实现拐弯90°的功能。 4.1.2海龟拐弯的使用方法 如果把数值改为其它值,那么海龟也会向相应的方向进行转动,如turtle.left(60),那么海龟就会向左转60°。同理让海龟向右转可以将代码修改为turtle.right(60)。 练一练 通过任务一的学习和操作,自己动手尝试让海龟在弹窗中画出正方形出来。 参考代码:
1、任务分析 我们通过观察前面海龟画出正方形的代码,可以发现turtle.forward(100)和turtle.left(90)这两段代码重复使用了四次,那有什么办法能简化这些代码吗?答案是肯定的,这里我们用到for()循环、变量以及range()函数来简化程序。 代码如下:
注意:在for循环“:”后面需要循环执行的程序必须加相同的缩进空白数量,否则会报语法错误。 运行此段程序,可以看到海龟也走出了一个正方形。 4、代码释义 4.1代码中for()循环、变量、range()函数以及行和缩进
4.1.1代码解释 代码中的for i in range(4)循环其实是for i in range(0,4,1)的缩写,也可以写成for i in[0,1,2,3],也就是当列表中i取第一项0时,执行一次“urtle.forward(100)#向前移动距离100像素”和“turtle.left(90)#左转90度”。如此依次执行i取第二项1,i取第三项2和i取第四项3的程序,当遍历四次就完成了此次循环,在形状上就能让海龟画出正方形,这种循环方式叫做计数循环。 4.1.2代码中的for循环
for 循环的语法格式如下: for 迭代变量 in 字符串|列表|元组|字典|集合: 代码块 迭代:每次循环称为一次迭代 代码块:指的是具有相同缩进格式的多行代码,由于和循环结构联用,因此代码块又称为循环体。 这里我们以列表举例,for 循环语句的执行流程如图所示 for 循环语句的执行流程图 我们拿上述的程序来说,for循环开始会检测序列中是否有项,也就是上述程序中的[0,1,2,3]。有项则取第一项得值,此时执行一次循体,也就是让海龟向前100的像素,然后左转90度。依次执行直到遍历完成所有的项就会跳出循环。 这里需要注意,程序中的循环都是从0开始循环而不是1。 4.1.3代码中的变量
这里的变量我们指的是上述程序中的i,在程序的运行过程中i的值从列表中的第一个元素0到最后一个元素3,每次迭代过程中都会变化,之所以叫做变量就是因为它在程序的运行过程中是不断变化的。上述程序中,我们只用一个变量i就能在不同时间内代表不同的数值,这也是变量的优势,让你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,因此变量十分有用。关于变量的其它用法,在后续的课程中也会进行介绍。 4.1.4代码中的range()函数
代码中的for i in range(4)循环其实是for i in range(0,4,1)的缩写。 range()的一般使用格式如下: range(start,stop,step) 三个参数的含义分别是: start表示范围开始的值。 stop表示范围结束的值。 step表示下次循环所递进的增加值。 如果只使用两个参数,如range(0,3),那么默认的第三个参数step=1。若只有一个参数,如range(5),则默认start=0,step=1。有了range()函数,当需要循环100次时,就可以简化写为range(100)。 4.1.5 行和缩进
我们发现上述代码中”:“号后面的代码具有一样的缩进格式,为什么要这样呢?其实python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。如上述代码中,程序至上而下的运行程序,当运行带这两段代码时,发现它们是具有同一缩进格式的代码块,因此当执行循环时就会循环执行这两段代码的内容。 本节课我们通过让海龟走正方形的项目,继续熟悉了海龟绘图编程工具,实现了在弹窗中绘制出正方形。在本节课中分别学习了for循环、变量、range()函数以及行和缩进的用法。通过这节课程的学习,想一想我们还能利用海龟绘图画出什么样的图形呢,赶紧动手试试吧! 利用本节课所学的知识,绘制出一个三角形的图案,之后查看附录内容画出圆和半圆。 三角形:
圆:
半圆:
|
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed