'Poganianie żółwika w Python - p.1' 2025/09/08 z.5
Moduł turtle pozwala na kontrolowanie "żółwia", który porusza się po płaszczyźnie okienka, rysując zadaną ścieżkę.
🐢Zadania
Wyzwanie polegało na tym, aby za pomocą modułu Turtle odwzorować trzy zadane kształty (słupki, krzyżyk oraz zestaw kwadratów).
SŁUPKI 📶
- Opis zadania: Zadanie polegało na narysowaniu "wykresu słupkowego", który składa się z czterech prostokątów o rosnącej wysokości. Każdy prostokąt miał stałą szerokość, ale jego wysokość była stopniowo zwiększana o wysokość pierwszego słupka.
- Podejście do rozwiązania: Rozwiązanie polega na zdefiniowaniu funkcji, która narysuje pojedynczy słupek. Wewnątrz funkcji , żółw rysuje prostokąt, przesuwając się w przód, obracając o 90 stopni, rysując bok, i tak dalej, aż zamknie figurę. Główna część programu będzie używać pętli
for, aby narysować cztery słupki. W każdej iteracji pętli skorzystamy z podanego zakresu(1,5)i rosnącej zmienneji, aby wysokość słupka rosła w każdej kolejnej iteracji. Podstawa słupka jest stała dla wszystkich słupków i określiłam ją jako zmienną o nazwie `baza (w poniższym przykładzie ma wartość 100). Należy pamiętać, aby po narysowaniu każdego słupka, przesunąć żółwia w prawo, aby następny słupek był narysowany obok poprzedniego.
import turtle
zolwik = turtle.Turtle() #tworzy obiekt rysującego zolwia pod zmienna zolwik
zolwik.speed(1) #szybkosc żółwika
zolwik.shape("turtle") #uzywa metody shape do ustawienia wygladu kursora (zolwik)
zolwik.pensize(5) #pogrubia "ślad" żółwika
baza = 100
for i in range (1,5):
for _ in range(2):
zolwik.forward(baza)
zolwik.left(90)
zolwik.forward(i*(baza))
zolwik.left(90)
zolwik.forward(baza)
turtle.exitonclick() #nie zamyka okna na koniec pracy zolwika bez kliknięcia w okno- Efekt:

Zadanie ze słupkami zajęło mi najwięcej czasu (więcej niż krzyżyk i kwadraty łącznie) 😅.
Krzyżyk ➕
- Opis zadania: Zadanie polegało na narysowaniu "krzyżyka", który jest de facto obrysem pięciu identycznych sześcianów ułożonych na kształt plusa.
- Podejście do rozwiązania: Aby narysować krzyżyk w Pythonie przy użyciu modułu
turtle, należy zaprogramować "żółwika" tak, aby poruszał się po ścieżce, która tworzy kształt krzyża. Musi on wykonywać ruchy proste (forward) i skręty pod kątem 90 stopni, aby odtworzyć wszystkie boki figury. Aby uzyskać ten efekt poleciłam żółwikowi za pomocą pętli, aby narysował "niepełny" kwadrat (bez jednego boku), obrócił się o 180 stopni, a następnie powtórzył tą czynność 3 razy (druga pętla).
import turtle
zolwik = turtle.Turtle()
zolwik.speed(1)
zolwik.shape("turtle")
zolwik.pensize(5)
for _ in range(4):
for _ in range(3):
zolwik.forward(100)
zolwik.left(90)
zolwik.right(180)
turtle.exitonclick()- Efekt:

Kwadraty 🔳
- Opis zadania: Zadanie polega na narysowaniu z użyciem modułu Turtle figury złożonej z 8 kwadratów, które są ułożone jeden w drugim. Każdy kolejny kwadrat jest większy od poprzedniego.
- Podejście: Zadanie rozwiązałam, rysując każdy kwadrat po kolei z użyciem dwóch pętli
for. W każdej iteracji pętla nakazuje żółwikowi aby narysować kolejny kwadrat, a następnie przygotowywać żółwia do narysowania następnego . Długość boku każdego kolejnego kwadratu rośnie z każdą iteracją i przyrost ten jest zdefiniowany za pomocą stałejodstep.
import turtle
zolwik = turtle.Turtle()
zolwik.speed(1)
zolwik.shape("turtle")
zolwik.pensize(5)
baza = 100
liczba_kwadratow = 8
odstep = baza/4
for i in range (liczba_kwadratow):
for _ in range(4):
zolwik.forward(baza+(odstep*i))
zolwik.left(90)
turtle.exitonclick()- Efekt:
