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_fillPoziom
★★ ś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
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