Глава 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()
Результат выполнения
Каждый ярус — тот же треугольник, что и в главе 6
Формула угла поворота (
360 / 3 = 120) — та же самая, что и для любого правильного многоугольника из главы 6 (и из проекта «Студия многоугольников», §12.11). Ёлка — это просто несколько треугольников уменьшающегося размера, нарисованных друг под другом в цикле.Практика: рисуем ёлку
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально