Глава 12 · Множество увлекательных мини-проектов!

Проект: рождественская ёлка

Несколько треугольных ярусов уменьшающегося размера, нарисованных циклом.

Используем
Turtleforbegin_fill/end_fill
Уровень
★★ средний
Результат
графика Turtle

Что создаём

Нарисуем ёлку из треугольных «ярусов» уменьшающегося размера — используя цикл и фигуры из главы 6.

elka.py
import turtle

screen = turtle.Screen()
screen.setup(width=340, height=380)
artist = turtle.Turtle()
artist.speed(0)
artist.hideturtle()
artist.pencolor("green")
artist.fillcolor("green")

yarusy = 4
shirina = 120

artist.penup()
artist.goto(0, 100)
artist.pendown()

for yarus in range(yarusy):
    artist.begin_fill()
    artist.setheading(240)
    artist.forward(shirina)
    artist.setheading(0)
    artist.forward(shirina)
    artist.setheading(120)
    artist.forward(shirina)
    artist.end_fill()

    artist.penup()
    artist.setheading(270)
    artist.forward(30)
    artist.pendown()
    shirina -= 20

artist.pencolor("brown")
artist.fillcolor("brown")
artist.setheading(270)
artist.penup()
artist.forward(10)
artist.pendown()
artist.begin_fill()
for _ in range(2):
    artist.forward(40)
    artist.right(90)
    artist.forward(20)
    artist.right(90)
artist.end_fill()

screen.exitonclick()
Результат выполнения
Рождественская ёлка, нарисованная Turtle из уменьшающихся треугольных ярусов
Четыре яруса уменьшающегося размера + ствол
Каждый ярус — тот же треугольник, что и в главе 6
Формула угла поворота (360 / 3 = 120) — та же самая, что и для любого правильного многоугольника из главы 6 (и из проекта «Студия многоугольников», §12.11). Ёлка — это просто несколько треугольников уменьшающегося размера, нарисованных друг под другом в цикле.
Практика: рисуем ёлку
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально
Открыть практику →