木子呢 发表于 2021-9-10 15:18:26

Mind+Python turtle 课程——03 四色炫酷造型

本帖最后由 木子呢 于 2021-9-10 15:37 编辑

第三节课 四色炫酷造型
目录:

[*]Mind+Python turtle 课程-序章
[*]Mind+Python turtle 课程——01 海龟动起来
[*]Mind+Python turtle 课程——02 海龟画正方形

功能介绍
在上节课的学习内容中,我们学会了海龟画正方形的方法。这节课我们将在上节课程的基础上进行程序的修改,让海龟从画一个正方形到复杂图形的转变,之后结合turtle库的pencolor()函数进行颜色的设定,制作出一个四色炫酷造型。课程会分为两个任务的形式进行,下表为课程任务及涉及到的知识点。

实现功能知识点
任务一:画出正方形螺旋线赋值、变量
任务二:画出四色炫酷造型列表、取余

项目实践任务一:画出正方形螺旋线1、任务分析
经过上节课程的学习,我们进一步认识了turtle的使用方法,并学会了循环、变量、range()函数、行和缩进的使用。这节课我们在上节课的基础上,修改循环体内的内容,把之前固定海龟向前移动100像素的代码改为可以变化的,因此也再次使用到了我们之前使用过的变量,然后再进行100次循环,每次向前的像素都加1,这样就能画出正方形螺旋线了。
2、编写程序
代码如下:
import turtle#导入模块t = turtle.Pen()#把turtle.Pen()赋值给t,后面的代码都使用t来代表t.shape("turtle")#外形显示乌龟for i in range(100):#定义变量执行100次    t.forward(i)#向前移动距离i像素    t.left(90)#左转90度turtle.exitonclick()#点击退出

3、运行效果
点击运行程序,就可以看到海龟在弹出的窗口自己绘制图案,最终绘制成正方形螺旋线,再次点击窗口可退出。


4、代码释义
4.1代码中赋值运算符的使用

t = turtle.Pen()#把turtle.Pen()赋值给t,后面的代码都使用t来代表

4.1.1代码解释把turtle.Pen赋值给t,其中“=”号为赋值运算符,它告诉计算机,我们将使用字母t来表示海龟的画笔。这样我们后续程序的代码只需t.forward(),而不是turtle.Pen().forward(),就可以让海龟在屏幕上移动的时候用海龟的画笔进行绘制。
4.1.2赋值运算符的使用方法赋值运算符用来把右侧的值传递给左侧的变量(或者常量),如a=c、a=6、t=turtle.Pen()等;可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。

4.2代码中的变量

for i in range(100):#定义变量执行100次    t.forward(i)#向前移动距离i像素    t.left(90)#左转90度

4.2.1代码解释和上节课不同的是,我们这节课让海龟向前移动的像素是变化的,这里总共进行了100次循环,其中循环体中的i,也就是海龟向前移动的像素是从0到99不断增加的,在执行过程中就能得到正方形螺旋线了。
任务二:画出四色炫酷造型1、任务分析
经过上面的程序设计,我们发现我们的造型相对之前的正方形来说炫酷了一些,那怎么让它更好看呢,我们这里用turtle中的pencolor()函数,来增加我们造型的颜色,让其更加炫酷。
2、编写程序
代码如下:
import turtle #导入tutle库t=turtle.Pen() #赋值turtle.Pen()函数给tcolors=["red","yellow","blue","green"] #建立coloers列表,存储red,yellow,blue,green这四个元素for x in range(100):#进行100次循环t.pencolor(colors)#每次执行循环都对4进行取余运算t.forward(x)#海龟向前移动x的像素单位t.left(90)#海龟左转90°turtle.exitonclick()#点击退出

3、运行效果
点击运行程序,就可以看到海龟在弹出的窗口自己绘制彩色的图案,最终绘制成四色的炫酷造型,再次点击窗口即可退出。


4、代码释义
4.1代码中的列表

colors=["red","yellow","blue","green"]#建立coloers列表,存储red,yellow,blue,green这四个元素

4.1.1代码解释建立coloers列表,用来存储red,yellow,blue,green这四个元素。
4.1.2使用方法列表使用中括号来指从哪里开始,到哪里结束,另外用逗号分隔列表内的各元素。就像创建任何变量一样,创建列表也是要为它赋某个值。另外还可以创建一个空列表,如a=[]中没有任何元素,所以这个列表是空的。不过空列表有什么用呢?为什么想要创建空列表呢?
其实很多情况下,我们是无法提前知道列表中会有些什么。我们也不知道其中会有多少元素,也不知道这些元素是什么,只知道将会有一个列表来保存这些内容。有了空列表后,程序就可以像这个列表中增加元素。这又怎么做到呢?
其实要向列表增加元素,我们需要使用append()函数。这里用到在序章说到的终端的信息交互功能,在终端中试试以下代码:
>>>a=[]>>> a.append('mind')>>> print (a)

你会得到这样的结果:
['mind']

记住,向列表增加元素之前,必须先创建列表(可以是空列表,也可以是非空)。
4.1.3代码中的print()函数print函数为终端输出函数,可以让终端打印消息,如在序章中我们使用如下代码

print(“hello world“)

就可以在终端打印出hello world,这里双引号内的内容为字符串。当然我们还可以打印其它数据类型,如数字print(6)、变量print(a),这里的a需要提前定义、字符print(‘a’),字符需要放到单引号中,如有多个字符可以用”+”进行连接如print(‘a’+‘b’)等。

4.2代码中的取余
for x in range(100):#进行100次循环t.pencolor(colors)#每次执行循环体都4进行取余t.forward(x)#海龟向前移动x的像素单位t.left(90)#海龟左转90°

4.2.1代码解释t.pencolor(colors),调用turtle库的pencolor()函数来设置绘制的颜色。每次执行此段代码时,x都会对4进行取余。x的值是从0开始的,第一次循环时x=0,0对4进行取余运算,得到的结果为0,则会获取到列表中的第一个元素也就是“red”(列表的元素位置都是从0开始计算的,而不是1)。然后进行第二次循环,x的值为1,1对4进行取余运算,得到的结果为1,则会获取列表中第二个元素也就是“yellow”,依次类推,进行了100次循环,因此会得到一个四色的炫酷造型。
4.2.2取余的使用方法程序中 % 符号为取余符号,对于取余运算一般会用在列表中获取元素时用到会比较多。大的数对小的数取余我们小学的时候都知道,如5%4,余数为1。这里我们需要注意的是小的数对大的数取余,如4%5,余数是4。也就是如果小的数对大的数进行取余运算,获得余数的结果都是小的数本身。
项目小结

本节课我们通过四色炫酷造型的项目,进一步熟悉了turtle库函数的一些用法,实现了在弹窗中绘制出四色炫酷造型。在本节课中分别学习了赋值、列表、取余的用法,并进一步巩固了对变量的认识。通过本节课的学习,想一想我们还能画出怎样的炫酷造型呢?赶紧动手操作吧!
项目扩展

尝试画出六色六角的的炫酷造型,并和四色的炫酷造型进行比较,找出其中画正多边形的规律,然后想一想怎样能快速的制作出更多变和色彩的炫酷造型。
参考程序

import turtlet = turtle.Pen()turtle.bgcolor("black")# You can choose between 2 and 6 sides for some cool shapes!sides = 6colors = ["red", "yellow", "blue", "orange", "green", "purple"]for x in range(360):    t.pencolor(colors)    t.forward(x * 3/sides + x)    t.left(360/sides + 1)    t.width(x*sides/200)turtle.exitonclick()#点击退出


hmilycheng 发表于 2021-9-16 18:33:04

感谢分享!
页: [1]
查看完整版本: Mind+Python turtle 课程——03 四色炫酷造型