Rozdział 12 · Wiele fascynujących mini-projektów!

Projekt: choinka bożonarodzeniowa

Kilka trójkątnych warstw o coraz mniejszym rozmiarze, rysowanych w cyklu.

Zastosowanie
Turtleforbegin_fill/end_fill
Poziom
★★ średni
Rezultat
Turtle graficznych

Co tworzymy

Narysuj choinkę z trójkątnych „poziomów”

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()
Rezultat
Choinka pomalowana Turtle o coraz mniejszych, trójkątnych piętrach
Cztery poziomy zmniejszających się rozmiarów + pień
Każdy poziom ma ten sam trójkąt co w rozdziale 6
Wzór na kąt obrotu (360 / 3 = 120) jest taki sam jak każdy regularny wielokąt z rozdziału 6 (oraz z Polygon Studio Project, §12.11). Choinka to po prostu seria trójkątów o malejących rozmiarach, narysowanych pod sobą w pętli.
Praktyka: Rysowanie choinki
Moduł turtle otwiera natywne okno Python – uruchamiane lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →