Код: Выделить всё
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()
Caterpillar
Я застрял на этом несколько часов, буду очень признателен за любую помощь!
Изменить:
Также забыл упомянуть, что я продолжаю получать ошибку «Файл» «C:\Users\Rekesh\Desktop\caterpillar\1.py», строка 48, в Caterpillar
xpos = xpos +(radius*2)
UnboundLocalError: ссылка на локальную переменную «xpos» перед назначением
Когда я использую xpos = xpos, я не уверен, нужно ли это.
Подробнее здесь: https://stackoverflow.com/questions/373 ... -functions