咱们在用 Python Turtle 库制作不同的形状时有一些乐趣,但是咱们能够经过在程序中参加变量使制作这些形状的函数愈加有趣。例如,经过在画一个正方形时运用一个变量,咱们能够控制乌龟在为正方形的每条边画线时移动的间隔。这样,咱们能够运用一个函数,经过运用变量,能够画出咱们喜爱的任何巨细的正方形。现在让咱们看看怎么做到这一点。
在 draw_square() 中参加一个变量
这个新的 draw_square() 函数现在有一个名为length 的新[变量]
def draw_square(length):
for i in range(4):
forward(length)
left(90)
这使得在调用 draw_square() 函数时能够传入一个数值,这样在制作正方形时每条边都能够向前移动这个数值。咱们能够经过调用 draw_square() 并传入 75 来测试这一点,这将使乌龟移动 75 像素。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('arrow')
def draw_square(length):
for i in range(4):
forward(length)
left(90)
draw_square(75)
done()
制作不同巨细的正方形
现在有了变量的运用,咱们能够很容易地画出不同巨细的正方形。让咱们测试一下制作一个每边有150像素的正方形。
draw_square(150)
在界说一个函数时运用一个变量能够使函数愈加灵敏,因为能够改变函数的输出,而不用每次都更新函数本身。
设置一个默许长度
如果在调用 draw_square() 函数时没有传入长度变量的值,咱们将得到一个过错。
Traceback (most recent call last):
File "C:\python\justhacking\testing.py", line 14, in <module>
draw_square()
TypeError: draw_square() missing 1 required positional argument: 'length'
为了避免这种可能的过错情况,让咱们从头界说 draw_square() 函数,并在没有供给默许值的情况下运用它。咱们将像这样把默许值设置为90。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('arrow')
def draw_square(length=90):
for i in range(4):
forward(length)
left(90)
draw_square()
done()
现在,当draw_square()被调用时,不会显现过错,程序只是默许为制作一个每边长度为90像素的正方形。下面的程序调用 draw_square() 函数 3 次。一次没有传递任何变量,两次有两个不同的数字值。
from turtle import *
drawing_area = Screen()
drawing_area.setup(width=750, height=500)
shape('arrow')
def draw_square(length=90):
for i in range(4):
forward(length)
left(90)
draw_square()
draw_square(150)
draw_square(200)
done()
结果是三个不同巨细的正方形。