在Python中用Turtle绘制图形可以通过组合使用forward()和right()函数一起工作来完成。turtle方向教程中有一个例子,说明我们如何在Turtle中使用这些命令来画一个正方形。这个例子是可行的,但它不是很优雅。我们不得不分别调用每个forward()和right()函数共四次,才能画出这个正方形。这种类型的代码重复可以通过[在 Python 中]使用[循环]来减少。在本教程中,我们将看看如何使用循环在Turtle中绘制一些图形。
正方形代码
回顾一下在Turtle中画一个正方形的原始代码,它看起来像这样。注意突出显示的代码,它只是简单地连续调用了两个相同的函数。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('square')
left(90)
forward(150)
left(90)
forward(150)
left(90)
forward(150)
left(90)
forward(150)
done()
for()循环
同样的事情也可以通过这个简单的for()循环来完成,就像这样。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('square')
for i in range(4):
left(90)
forward(150)
done()
这两段代码在Turtle中产生相同的结果。
循环的实验
循环是一种有趣的方式,可以简单地开始实验,看看程序会画出什么。让我们尝试几个例子,在循环中进行不同的迭代,并向right()和forward()函数传递不同的值,看看会发生什么。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('square')
for i in range(8):
left(45)
forward(75)
done()
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('square')
for i in range(16):
right(100)
forward(200)
done()
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('square')
for i in range(48):
right(100)
forward(127)
left(50)
done()
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('square')
for i in range(48):
right(100)
forward(70 + i)
left(50)
done()
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('square')
for i in range(75):
right(20 + i)
forward(1 + (i * 5))
right(40 + i)
done()
正如你所看到的,当把循环纳入Turtle的绘图中时,你可以想出各种有趣的视觉表现形式