Вместо того, чтобы нарисовать три квадрата, вы нарисовали один и тот же квадрат дважды - один раз закрашенный, другой нет. Вы должны уметь нарисовать эту фигуру с помощью серии простых команд forward()
, right(90)
и left(90)
. Наряду с изменениями цвета и запросами на заливку. другой цвет заливки. Вторичной задачей может быть, после первоначального оптимального размещения пера в окне, нарисовать фигуру без повторного поднятия ручки . Это похоже на рисование этой фигуры на бумаге, приподняв карандаш.
from turtle import *
LENGTH = 415
OUTLINE = 10
title('Three (3) squares of different colours')
pensize(OUTLINE)
penup()
goto(-LENGTH/4, LENGTH/4) # center drawing on the window
pendown()
fillcolor('lime')
for _ in range(2):
begin_fill()
forward(LENGTH/2)
right(90)
for _ in range(3):
forward(LENGTH)
right(90)
forward(LENGTH/2)
end_fill()
fillcolor('red')
left(90)
left(90)
fillcolor('yellow')
begin_fill()
for _ in range(4):
forward(LENGTH/2)
left(90)
end_fill()
hideturtle()
exitonclick()
Просто некоторые идеи. Есть и другие забавные способы подойти к этому рисунку. Например, вместо рисунок можно использовать штамп :
from turtle import *
LENGTH = 415
OUTLINE = 10
CURSOR_SIZE = 20
title('Three (3) squares of different colours')
penup()
shape('square')
shapesize(LENGTH / CURSOR_SIZE, outline=OUTLINE)
goto(LENGTH/4, LENGTH/4)
fillcolor('red')
stamp()
goto(-LENGTH/4, -LENGTH/4)
fillcolor('lime')
stamp()
shapesize(LENGTH / 2 / CURSOR_SIZE)
home()
fillcolor('yellow')
stamp()
hideturtle()
exitonclick()