Rozdział 10 · Trochę automatyzacji!
Losowe wzorce Turtle
Każda iteracja pętli może wykonać własny, wcześniej nieznany ruch — a seed() sprawia, że losowy wynik jest powtarzalny.
Cykle i losowość
Moduł random z rozdziału 9 dobrze pasuje do cykli —
Każda iteracja może podjąć własną, przednieznaną decyzję. Dzięki temu wynik może być
miał na celu reprodukcję i testowanie, poniższe przykłady używają
random.seed(...) — tworzy „losową”
Przypadkowe wędrowanie
sluchajnoe_bluzhdanie.py
import random
random.seed(7)
for _ in range(100):
artist.setheading(random.randint(0, 360))
artist.forward(10)
sluchajnoe_bluzhdanie.py
import turtle
import random
random.seed(7)
screen = turtle.Screen()
screen.setup(width=420, height=420)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#5B24F9")
artist.pensize(2)
for _ in range(100):
artist.setheading(random.randint(0, 360))
artist.forward(10)
screen.exitonclick()
Rezultat
seed() nie chodzi o losowość figury, lecz o powtarzalność
Bez
random.seed(...) wynik byłby inny za każdym razem – co jest ciekawe dla kreatywności, ale niewygodne dla praktyki, gdzie ważne jest, by sprawdzić konkretny, powtarzalny wynik.Pole Gwiezdne
zvezdnoe_pole.py
import random
random.seed(3)
for _ in range(60):
x = random.randint(-190, 190)
y = random.randint(-190, 190)
artist.goto(x, y)
artist.dot(6, "white")
zvezdnoe_pole.py
import turtle
import random
random.seed(3)
screen = turtle.Screen()
screen.setup(width=420, height=420)
screen.bgcolor("#0D0230")
artist = turtle.Turtle()
artist.speed(0)
artist.hideturtle()
artist.penup()
for _ in range(60):
x = random.randint(-190, 190)
y = random.randint(-190, 190)
artist.goto(x, y)
artist.dot(6, "white")
screen.exitonclick()
Rezultat
★★ Zadanie samodzielne
Twoje przypadkowe wędrówki
Zmień seed na inną liczbę i liczbę kroków – porównaj, jak różni się ścieżka.
Praktyka: Przypadkowy spacer i Pole Gwiezdne
Moduł turtle otwiera natywne okno Python – uruchamiane lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie