回答
我需要创建一个名为" caterpillar()"的函数,这个函数用于连接我的draw_circle()函数,并且draw_line()函数一起创建一个caterpullar。我试图在while循环中使用draw_circle创建毛虫身体所需的三个圆圈。到目前为止,这是我的所有代码:
from turtle import *
import turtle
def moveto(x,y):
penup()
goto(x,y)
pendown()
def draw_circle(xpos,ypos,radius,colour):
moveto(xpos,ypos)
circle(radius)
turtle.fillcolor(colour)
def draw_line(x1, y1, x2, y2):
penup()
goto(x1,y1)
pendown()
goto(x2,y2)
def draw_square(x,y,length,colour):
moveto(x,y)
forward(length)
right(90)
forward(length)
right(90)
forward(length)
right(90)
forward(length)
turtle.fillcolor(colour)
def caterpillar():
draw_line(0,30,-20,-15) # feelers
draw_line(0,30,20,-15) # feelers
draw_line(60,30,40,-15) # feelers
draw_line(60,30,80,-15) # feelers
draw_line(120,30,100,-15) # feelers
draw_line(120,30,140,-15) # feelers
for _ in range(3) : # 3 body circles
xpos = 0
ypos = 0
radius = 30
turtle.begin_fill()
draw_circle(0,0,30,"green")
turtle.end_fill()
xpos = xpos + (radius*2)
caterpillar()
我被困在"的最后一部分,因为_在范围(3)" - 我需要在这些特定的坐标上使用draw_circle函数循环三个圆圈: Caterpillar
我已经被困在这几个小时了,任何帮助都会非常感激! 编辑: 也忘了提一下,我一直在卡特彼勒发现错误"文件" C:\ Users \ Rekesh \ Desktop \ caterpillar \ 1.py",第48行 xpos = xpos +(半径* 2) UnboundLocalError:局部变量' xpos'在分配之前引用 当我使用xpos = xpos时,我不确定是否需要这样做。