Rozdział 6 · Rysujemy fajne rzeczy za pomocą Turtle

Przechodzimy do losowych punktów na ekranie

goto() przesuwa żółwia bezpośrednio na ekran — wraz z losowymi liczbami daje ciekawy efekt.

Do tej pory żółw poruszał się tylko względem swojej aktualnej pozycji lub po wcześniej znanych współrzędnych. Ale można od razu „przeteleportować” go do konkretnego punktu ekranu poleceniem goto(x, y) — a razem z losowymi liczbami z rozdziału 5 to otwiera interesujące możliwości.

Losowe punkty na ekranie

sluchaynye_tochki.py
import turtle
import random

random.seed(7)
screen = turtle.Screen()
screen.setup(width=420, height=340)
artist = turtle.Turtle()
artist.hideturtle()
artist.penup()

for _ in range(10):
    x = random.randint(-200, 200)
    y = random.randint(-150, 150)
    artist.goto(x, y)
    artist.dot(14, "#5B24F9")

screen.exitonclick()
Rezultat
Dziesięć fioletowych kropek rozrzuconych po oknie w losowych, ale powtarzalnych miejscach
10 losowych punktów – random.seed(7) każdy przebieg daje ten sam obraz
sluchaynye_tochki_kod.py
import turtle
import random

random.seed(7)   # poprawka seed — zdjęcie będzie takie samo przy każdej premierze
screen = turtle.Screen()
artist = turtle.Turtle()
artist.penup()

for _ in range(10):
    x = random.randint(-200, 200)
    y = random.randint(-150, 150)
    artist.goto(x, y)
    artist.dot(14, "#5B24F9")
penup() przed goto()
Bez penup() żółw za każdym razem, gdy się porusza, rysuje linię goto() — co zwykle nie jest tym, czego potrzeba do „skoku”
Dlaczego random.seed(7) tutaj
Rozbieraliśmy random.seed() w rozdziale 5 — tutaj jest potrzebny dokładnie po to, by KAŻDY przebieg tego kodu dawał ten sam obraz, a nie nowy za każdym razem. Usuń linię z seed a kropki stają się naprawdę losowe przy każdym przebiegu.
Praktyka: goto(), penup()/pendown() i random
Moduł turtle otwiera natywne okno Python – uruchamiane lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →