如何使用Python Turtle的循环绘制图形

How To Use Loops With Python Turtle

在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中产生相同的结果。

python turtle loop to draw square


循环的实验

循环是一种有趣的方式,可以简单地开始实验,看看程序会画出什么。让我们尝试几个例子,在循环中进行不同的迭代,并向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()

python turtle octagon


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()

random shape from loop turtle


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()

super cool python turtle loop


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()

python turtle loop magic


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()

python turtle graphics wow

正如你所看到的,当把循环纳入Turtle的绘图中时,你可以想出各种有趣的视觉表现形式

猜你喜欢

转载自juejin.im/post/7125802307106799624