Zagnieżdżone powtarzanie

Sprawne posługiwanie się instrukcją iteracji powoduje, że kod staje się bardziej czytelny.

Przykłady wykorzystania pętli for

Przypuśćmy, że chcemy narysować sznur lampek, taki jak na rysunku poniżej. Najpierw warto zdefiniować pomocniczą funkcję kwadrat(). Później tworzymy właściwą funkcję lampki(). Funkcja rysująca lampki może mieć dwa parametry, pierwszy oznaczający wielkość kwadratowej lampki, drugi liczbę lampek. Zwróćmy uwagę na poziomą kreskę rozpoczynającą i kończąca rysunek.

_images/korale.png
from turtle import *

def  kwadrat(bok):
    for i in range(4):
        fd(bok); rt(90)

def lampki(bok,n):
    for i in range(n):
       fd(bok); kwadrat(bok); fd(bok)
    fd(bok)

lampki(10, 9)

Ćwiczenie 1

Po uruchomieniu poniższego kodu powstanie rysunek pięciu kwadratów, ustawionych jeden na drugim.

Spróbuj zmienić kod tak, aby kwadraty ustawione były jeden obok drugiego.

Ćwiczenie 2

Poniżej znajdziesz kod, po uruchomieniu którego, powinien powstać rysunek kolumny trójkątów.

_images/trojkaty.png

Przeanalizuj działanie kodu. Funkcja kolumna() służy do rysowania trójkątów równobocznych położonych jeden nad drugim. Odległość między podstawami trójkątów jest równa ich bokowi. Parametr funkcji określa liczbę trójkątów.

Spróbuj narysować trójkąty innej wielkości. Co należy zmienić w kodzie?

Ćwiczenie 3

Poniżej znajdziesz kod, po uruchomieniu którego, powinien powstać rysunek siatki trójkątów.

_images/siatkat.png

Wpisz w miejsce ? brakujące liczby, by otrzymać powyższy rysunek.

Jeśli tworzenie rysunku przez żółwia jest zbyt wolne, warto stosować wywołanie złożone z funkcji tracer() – rysownie w pamięci, właściwego wywołania funkcji siatka() i na końcu uaktualnienie ekranu poprzez wywołanie funkcji update().

Ćwiczenie 4

Zamiast pomocniczych funkcji rysujących trójkąt i kolumnę trójkątów można zastosować wywołanie pętli wewnątrz pętli. Zwróć uwagę na fakt, że każda z pętli korzysta z innej zmiennej sterującej jej działaniem. Wpisz w miejsce ? brakujące liczby, by otrzymać siatkę trójkątów taką samą, jak w poprzednim ćwiczeniu.

| Back to top