如何在Turtle Python程序中移动乌龟

1,076 阅读4分钟

How To Move The Python Turtle

在本教程中,我们将看到如何在Turtle Python程序中移动乌龟。乌龟代表无形的笔或标记,它被用来在画布上绘制所有的线条、形状和颜色。为了移动乌龟,你首先需要确保你已经启动了一个空白画布。


乌龟前进()函数

为了使乌龟在Python中移动,我们可以使用**forward()**函数。在下面的代码片段中,我们添加了对forward()函数的调用,同时传入一个75的整数值。这告诉乌龟从画布的中间开始移动75步。一个步骤等同于一个像素。默认情况下,乌龟实际上是一个箭头形状,它向右移动,除非你[改变乌龟的方向]。如果愿意的话,可以用fd()函数作为一个速记工具。

from turtle import *

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

forward(75)

done()

python turtle forward


改变乌龟

我们可以把笔从箭头变成其他东西。这毕竟是乌龟程序,所以让我们把笔变成真正的乌龟。要做到这一点,我们可以使用shape()函数。shape()函数可以将默认的箭头变成其他的东西,如方形、圆形,甚至是乌龟!让我们试试几种不同的变化。让我们在这里尝试一些不同的变化。


乌龟

from turtle import *

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

shape('turtle')
forward(75)

done()

python shape turtle


正方形

from turtle import *

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

shape('square')
forward(75)

done()

python turtle shape square


from turtle import *

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

shape('circle')
forward(75)

done()

python turtle shape circle


乌龟向后()函数

backward()函数的工作原理与forward()函数一样,但是是反向的。想象一下你自己向前走,或者向后走。这对你的Python Turtle来说是同样的事情。backward()有两个速记版本,即bk()和back()。

from turtle import *

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

shape('circle')
backward(75)

done()

python turtle backward function


四个象限

Python Turtle 的屏幕被 x 和 y 轴分为四个象限,乌龟总是从 0,0 开始,也就是画布的精确中心。

python turtle screen quadrants

我们可以用这段代码在乌龟画布上画出四个象限。当调用home()函数时,乌龟被移回0,0,也就是画布的中心。

from turtle import *

drawing_area = Screen()
drawing_area.setup(width=500, height=500)

forward(250)
back(500)
home()
left(90)
forward(250)
back(500)
home()

done()

python turtle quadrants


乌龟goto()函数

一旦你理解了画布上的x和y坐标是如何存在的,你就可以使用goto()函数来移动到屏幕上的一个特定位置。我们刚刚把屏幕分成了四个象限,现在下面的程序将把乌龟逐一移动到每个象限的精确中心,从而形成一个正方形。正方形的每个角都正好位于第1、2、3、4象限的中心。setpos()和setposition()函数的效果与goto()相同。

from turtle import *

drawing_area = Screen()
drawing_area.setup(width=500, height=500)

forward(250)
back(500)
home()
left(90)
forward(250)
back(500)
home()

goto(125, 125)
goto(-125, 125)
goto(-125, -125)
goto(125, -125)
goto(125, 125)

done()

turtle center of each quadrant


乌龟setx()函数

将乌龟移动到X轴上提供的位置。

from turtle import *

drawing_area = Screen()
drawing_area.setup(width=500, height=500)

setx(100)

done()

turtle setx function


Turtle sety() 函数

将乌龟移动到Y轴上的指定位置。

from turtle import *

drawing_area = Screen()
drawing_area.setup(width=500, height=500)

sety(100)

done()

turtle sety function


Turtle speed() 函数

要使乌龟画得更快或更慢,你可以使用speed()函数。默认值是3,可能的值是1到10,10是最快的。速度是作为一个整数值传递的。你也可以使用最慢、较慢、正常、快速和最快的字符串来控制速度。

[shape()函数]当然是乌龟模块本身的一部分。我们传递给它的参数是一个描述乌龟形状的[python字符串]。优秀的工作!我们现在知道如何让乌龟移动,也知道如何改变乌龟的外观。我们可以使用forward()函数来使乌龟向前移动,或者使用backward()函数来使乌龟向后移动。这些命令也有快捷键fd()代表前进(),或bk()代表后退()。