Rozdział 10 · Trochę automatyzacji!

Mini-projekt — automatyzacja rysowania kwadratu

Wróćmy do liczb z rozdziału 6 — tym razem z cyklami zamiast ręcznym powtarzaniem i z rzeczywistymi wynikami.

Mini-projekt — automatyzujemy kwadrat

Zastosujmy pętlę do kwadratu z rozdziału 6. Obie wersje poniższego kodu rysują dokładnie tak samo Kwadrat to jedyna różnica w liczbie wierszy, które zajmował:

Kwadrat: 8 rzędów ręcznie kontra 2 linie z pętlą
Brak Pętli (Rozdział 6)
artist.forward(100)
artist.right(90)
artist.forward(100)
artist.right(90)
artist.forward(100)
artist.right(90)
artist.forward(100)
artist.right(90)
Z cyklem for
for _ in range(4):
    artist.forward(100)
    artist.right(90)
Co używać dzisiaj: efekt jest ten sam, ale cztery razy krótszy i z jednym miejscem na zmianę liczby stron.
avto_kvadrat.py
import turtle

screen = turtle.Screen()
screen.setup(width=300, height=300)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#5B24F9")
artist.pensize(3)

for _ in range(4):
    artist.forward(100)
    artist.right(90)

screen.exitonclick()
Rezultat
Kwadrat narysowany Turtle
Rzeczywisty efekt jest taki, że oba warianty powyższego kodu rysują dokładnie ten kwadrat

Automatyzujemy dowolną prostą figurę

Uogólnimy kwadrat do wzoru, który rysuje żadnych prawidłowy wielokąt — wykorzystując wzór kąta obrotu z rozdziału 6:

360°÷liczba stron=kąt obrotu
Im więcej boków, tym mniejszy kąt obrotu przy każdym kroku
avto_lyubaya_figura.py
storony = 8       # Chcę ośmiokąt – po prostu zmień ten numer
dlina = 60
ugol = 360 / storony

for _ in range(storony):
    artist.forward(dlina)
    artist.right(ugol)
Jednym zmienna jest dowolna liczba
Zmiana storony przez 3, 5, 6, 20 — program automatycznie narysuje trójkąt, pięciokąt, sześciokąt lub prawie koło, bez żadnej zmiany reszty kodu. Poniżej znajduje się rzeczywisty wynik dla kilku wartości storony.

Trójkąt (storony = 3)

treugolnik.py
import turtle

screen = turtle.Screen()
screen.setup(width=300, height=300)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#5B24F9")
artist.pensize(3)

storony = 3
dlina = 110
ugol = 360 / storony

for _ in range(storony):
    artist.forward(dlina)
    artist.right(ugol)

screen.exitonclick()
Rezultat
Trójkąt wylosowany Turtle
storony = 3, dlina = 110 → trójkąt regularny

Pentagon (storony = 5)

pyatiugolnik.py
import turtle

screen = turtle.Screen()
screen.setup(width=300, height=300)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#5B24F9")
artist.pensize(3)

storony = 5
dlina = 75
ugol = 360 / storony

for _ in range(storony):
    artist.forward(dlina)
    artist.right(ugol)

screen.exitonclick()
Rezultat
Pentagon narysowany Turtle
storony = 5, dlina = 75 → regularnym Piątokątie

Heksagon (storony = 6)

shestiugolnik.py
import turtle

screen = turtle.Screen()
screen.setup(width=300, height=300)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#5B24F9")
artist.pensize(3)

storony = 6
dlina = 65
ugol = 360 / storony

for _ in range(storony):
    artist.forward(dlina)
    artist.right(ugol)

screen.exitonclick()
Rezultat
Hexagon narysował Turtle
storony = 6, dlina = 65 → regularny sześciokąt

Ośmiokąt (storony = 8)

vosmiugolnik.py
import turtle

screen = turtle.Screen()
screen.setup(width=300, height=300)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#5B24F9")
artist.pensize(3)

storony = 8
dlina = 55
ugol = 360 / storony

for _ in range(storony):
    artist.forward(dlina)
    artist.right(ugol)

screen.exitonclick()
Rezultat
Oktagon wylosowany Turtle
storony = 8, dlina = 55 → prawidłowy ośmiokąt

Mini-projekt: studio automatycznych wielokątów

★★ Zadanie samodzielne
Studio wielokątów

Zaprojektuj powyższy program tak, aby użytkownik storony wywoływał input() (nie zapomnij int()). testować na kilku wartościach — w tym dużych, jak 30 czy 50 — i zobaczyć, jak kształt się zmienia.

Praktyka: Automatyczne Studio Wielokątne
Moduł turtle otwiera natywne okno Python – uruchamiane lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →