Зацикливание кругов с определенными функциямиPython

Программы на Python
Ответить
Anonymous
 Зацикливание кругов с определенными функциями

Сообщение Anonymous »

Мне нужно создать функцию с именем «caterpillar()», эта функция используется для объединения моей функции draw_circle() и функций draw_line() для создания гусеницы. Я застрял в попытке создать три круга, необходимые для тела гусеницы, используя draw_circle в цикле while. Это весь мой код:

Код: Выделить всё

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()
Я застрял на последней части раздела «for _ in range(3)» — мне нужно зациклить три круга, используя функцию draw_circle в этих конкретных координатах:
Caterpillar
Я застрял на этом несколько часов, буду очень признателен за любую помощь!
Изменить:
Также забыл упомянуть, что я продолжаю получать ошибку «Файл» «C:\Users\Rekesh\Desktop\caterpillar\1.py», строка 48, в Caterpillar
xpos = xpos +(radius*2)
UnboundLocalError: ссылка на локальную переменную «xpos» перед назначением
Когда я использую xpos = xpos, я не уверен, нужно ли это.

Подробнее здесь: https://stackoverflow.com/questions/373 ... -functions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»