Jak stosować klauzule else w pętlach?

W Pythonie, podobnie jak w wielu innych językach programowania, pętle są podstawowym narzędziem do wykonania bloku kodu wielokrotnie. Python oferuje jednak unikalną cechę, której nie znajdziesz w wielu innych językach: klauzulę else dołączoną do pętli. To może brzmieć dziwnie, ponieważ większość programistów kojarzy else głównie z instrukcjami warunkowymi if. Jednak w kontekście pętli, else pełni inną, bardzo użyteczną funkcję. Przeanalizujmy, jak działa i kiedy może być przydatna.

Przykład z klauzulą “else” w pętli

Zanim zagłębimy się w szczegóły, przejrzyjmy przykład użycia else w pętli. Komentarze po polsku pomogą Ci zrozumieć, co dokładnie się dzieje.

# Przykład zastosowania klauzuli "else" w pętli

# Szukamy liczby pierwszej w zakresie od 2 do 10
for n in range(2, 10):
    # Dla każdej liczby n sprawdzamy, czy jest liczbą pierwszą
    for x in range(2, n):
        # Jeśli n jest podzielne przez x, n nie jest liczbą pierwszą
        if n % x == 0:
            print(f"{n} equals {x} * {n//x}")
            break
    # Klauzula else pętli for: wykonuje się tylko, gdy pętla nie została przerwana instrukcją break
    else:
        # Jeśli nie znaleziono dzielnika, liczba jest pierwsza
        print(f"{n} is a prime number")

Jak działa klauzula “else” w pętlach?

Klauzula else w pętlach for lub while w Pythonie ma specyficzną semantykę. Wykonuje się wtedy, gdy pętla zakończy działanie normalnie, czyli nie została przerwana przez break. To oznacza, że kod w bloku else uruchomi się tylko wtedy, gdy pętla “wyczerpie” swoje elementy (w przypadku for) lub warunek stanie się fałszywy (w przypadku while), nie zaś gdy zostanie przerwana instrukcją break.

Dlaczego i kiedy używać “else” z pętlami?

Klauzula else może być przydatna, gdy potrzebujemy wykonać jakąś akcję po zakończeniu pętli, ale tylko jeśli pętla nie została przerwana przez break. Jest to szczególnie użyteczne w przypadkach, gdy:

  • Szukamy określonego elementu w sekwencji i chcemy wykonać pewną akcję, jeśli ten element nie został znaleziony (jak w przykładzie z liczbami pierwszymi).
  • Chcemy wykonać pewną akcję po przeszukaniu całej sekwencji i potwierdzeniu, że żaden element sekwencji nie spowodował przerwania.

Podsumowanie

Klauzula else w pętlach to potężne narzędzie, które może uczynić niektóre algorytmy bardziej czytelne i eleganckie. Pozwala na wyraźne oddzielenie logiki wykonywanej w przypadku “normalnego” zakończenia pętli od logiki wykonywanej w przypadku jej przerwania. Choć jej użycie nie jest powszechne w codziennym kodowaniu, zrozumienie tego mechanizmu jest ważne dla każdego, kto chce pogłębić swoją wiedzę o Pythonie i o programowaniu w ogóle.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Python w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top