还记得画正方形的代码吗?
我们来复习一下!
import turtlet = turtle.Pen()for i in range(4): t.forward(100) t.right(90)
import turtle的作用是导入turtle库供我们使用,在turtle库中有很多的命令帮助来画图。
使用t = turtle.Pen()来新建一只画笔,取名字叫t。
使用for循环来重复以下动作四次:
- 前进 100
- 右转 90度
这样我们就创作出了一个正方形!
接下来让我们做一个小小的实验!把重复次数改成100?
import turtlet = turtle.Pen()for i in range(100): t.forward(100) t.right(90)
import turtle
t = turtle.Pen()
for i in range(100):
t.forward(100)
t.right(90)
猜猜会发生什么?恭喜你!你收获了一个疯狂的正方形!
如果再改动一下呢? 我们把 t.right(90)改成t.right(90 + 1)
来试一试!
import turtlet = turtle.Pen()for i in range(100): t.forward(100) t.right(90 + 1)
正方形旋转起来了!这是为什么呢? 想象一下: t.right(90+1)让箭头每次的转向多1度,慢慢的每个正方形都会向右偏移一度,就造成了这样的效果。
你可以试试改变t.right()中的角度,看看会有什么效果? 绘制螺旋?
我们还可以做一些什么改动?
让我们看看如何在循环上能够做一些什么手脚?
首先试一试这样的代码:
import turtlet = turtle.Pen()t.speed(1)t.forward(0)t.right(90)t.forward(5)t.right(90)t.forward(10)t.right(90)t.forward(15)t.right(90)t.forward(20)t.right(90)t.forward(25)t.right(90)t.forward(30)t.right(90)t.forward(35)t.right(90)t.forward(40)t.right(90)t.forward(45)t.right(90)
哇!看起来好长!
那么实际是什么效果呢?
出现了一个正方形的螺旋!
这是为什么呢?我们每次都让画笔t向前移动的距离增大了5,最终会得到一个不断扩大的正方形。
那么问题来了!
这样写代码太麻烦,想要画出来好看的代码也要很多行,那么有什么办法能够帮助我们呢?
试试这样的代码!
import turtlet = turtle.Pen()t.speed(0)for i in range(100): t.forward(5 * i) t.right(90)
import turtle
t = turtle.Pen()
t.speed(0)
for i in range(100):
t.forward(5 * i)
t.right(90)
看到了吗! 很轻松的就画出来了一个正方形螺旋,这多亏了我们的for循环! for循环可以让内部的代码不断的重复,同时for i in range(100)中的i会从0开始逐渐增大!
比如: for i in range(100) 中i的值会从0开始,每次循环增加1,最终为99
for i in range(50) 中i的值会从0开始,每次循环增加1,最终为49
现在我们有了两个新的技能:
- 更改旋转的角度
- 更改循环中每次移动的距离
你可以试一试改变数字,尝试画出来一些不一样的图形! 多彩螺旋?
到了创作时刻啦! 黑白的图案总是不好看的,因此我们需要一些彩色! 你可以使用 t.color('green')
来设置颜色!
import turtlet = turtle.Pen()t.speed(0) #用于改变画笔的速度t.color('green')for i in range(100): t.forward(5 * i) t.right(90)
import turtle
t = turtle.Pen()
t.speed(0) #用于改变画笔的速度
t.color('green')
for i in range(100):
t.forward(5 * i)
t.right(90)
也可以使用 t.color(220,120,180)
来设定颜色!
import turtlet = turtle.Pen()t.speed(0)turtle.colormode(255)t.color(220,120,180)for i in range(100): t.forward(5 * i) t.right(90)
import turtle
t = turtle.Pen()
t.speed(0)
turtle.colormode(255)
t.color(220,120,180)
for i in range(100):
t.forward(5 * i)
t.right(90)
我们来着重介绍一下第二种方法! 相比第一种提供颜色的方法来说,第二种提供的是 光学三基色:红 绿 蓝
光学三基色被广泛的运用在我们的生活中,举个最简单的例子:各种屏幕上就会使用这三种颜色得到想要显示的各种颜色。
光学三基色我们可以按照他们的顺序来起个英文名字:RGB,分别代表了红色,绿色和蓝色。通过不同强度的光照就可以组合成我们想要的颜色啦! 你可以使用t.color(红色强度,绿色强度,蓝色强度)来指定自己想要实现的颜色,不过记住: 每种颜色的数值都只有 0 - 255
个级别,如果你代码中超过了255这个数字,程序会报错哦!这里有一些案例哦,你也可以试试!
import turtlet = turtle.Pen()t.speed(0)turtle.colormode(255) # 切换使用RGB色彩颜色t.color(220,120,180)for i in range(100): t.forward(5 * i) t.right(120) t.forward(2 * i) t.left(30)
(粉色的忍者镖?)
import turtlet = turtle.Pen()t.speed(0)turtle.colormode(255)t.color(90,120,180)for i in range(100): t.forward(i) t.left(30) t.forward(i) t.left(20) t.forward(i) t.right(75)