学习Python中的draw_square()函数

Draw Turtle Shapes With Functions

[Python 中的函数]是一种方便的方式,可以将几行代码打包成一个可以调用的简单关键字。当关键词被调用时,函数中包含的所有代码都会运行。在涵盖循环和 Turtle 的教程中,我们用一个循环来画一个正方形。现在,我们可以把所有的逻辑放到一个简单的draw_square()函数中,任何时候我们想画一个正方形,只需调用draw_square()函数。现在让我们来建立这个函数。


定义一个函数

要创建你自己的函数,首先要给它一个名字。这个名字可以是你想要的任何东西,只要它不是一个 Python 关键字。函数的名字应该是对该函数所做工作的描述。这样,当你想调用它们时,你就可以记住它们的用途。让我们把我们的函数叫做 draw_square() ,因为这正是它的作用。

from turtle import *

drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('arrow')


def draw_square():
    for i in range(4):
        forward(100)
        right(90)

要调用这个函数,你只需要在函数的名字后面写上括号(),就像这样:

from turtle import *

drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('arrow')


def draw_square():
    for i in range(4):
        forward(100)
        right(90)


draw_square()

done()

调用draw_square()函数将触发函数定义中的代码,使画布上画出一个正方形。

draw square using function turtle


多次调用函数

现在有了一个画正方形的函数,我们可以在任何时候想画正方形时,轻松地反复调用这个函数。在下面的程序中,我们使用draw_square()函数和Turtle中的其他一些函数,在同一程序中在画布上画了3个正方形。请注意,每次调用 draw_square() 函数,都会在画布上画出一个正方形。

from turtle import *

drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('arrow')


def draw_square():
    for i in range(4):
        forward(100)
        right(90)


right(-90)
penup()
forward(50)
right(-90)
forward(200)
pendown()
draw_square()

right(180)
penup()
forward(100)
right(-90)
pendown()
draw_square()

right(90)
penup()
forward(200)
right(-90)
pendown()
draw_square()

done()

three squares in python turtle


penup() 和 pendown()

你可能已经注意到上面的程序中有一些新的函数。这些是Turtle中的penup()pendown()函数。它们的作用和听起来一样。当你想在不画线的情况下移动乌龟时,你可以调用penup()函数,将绘图工具从画布上移开。当你想继续绘图时,你需要调用pendown()函数,这样乌龟就会在移动时再次留下线条。下面是同一个程序,没有调用penup()或pendown()。请注意现在所有的方块都连接起来了。

move a turtle in python without drawing


一个八边形函数

让我们再创建一个函数,为我们绘制一个八角形。

from turtle import *

drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('arrow')


def draw_square():
    for i in range(4):
        forward(100)
        right(90)


def draw_octagon():
    for i in range(8):
        forward(50)
        right(45)


draw_octagon()

done()

python turtle octagon function


在循环中调用函数

通过将函数调用放在一个循环内,你可以多次调用一个函数来产生一些有趣的结果。让我们看一些实际的例子。

from turtle import *

drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('arrow')


def draw_square():
    for i in range(4):
        forward(100)
        right(90)


def draw_octagon():
    for i in range(8):
        forward(50)
        right(45)


for i in range(20):
    draw_square()
    right(-30)
    draw_octagon()

done()

python turtle functions in loops

猜你喜欢

转载自juejin.im/post/7125802125359054856
今日推荐