Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

Pętle - Cykle natury

Witaj, @name! Natura uwielbia powtórzenia: słońce wschodzi każdego ranka, fale uderzają o brzeg, stado migruje co roku. W programowaniu też często musimy coś powtórzyć - sprawdzić każde zwierzę na liście, policzyć dni ekspedycji, generować raport co godzinę. Zamiast przepisywać ten sam kod wiele razy, używamy pętli.

Pętla for - Przejdź przez każdy element

Pętla `for` przechodzi po kolei przez elementy zbioru - jak badacz, który ogląda każde zwierzę w stadzie jedno po drugim.

1animals = ["Lew", "Słoń", "Żyrafa", "Pyton"]
2
3for animal in animals:
4    print(f"Zaobserwowano: {animal}")

Python pobiera pierwszy element listy, przypisuje go do zmiennej `animal` i wykonuje wcięty blok. Potem bierze drugi element, trzeci - aż do końca listy. Tak jak przy `if`, po nagłówku jest dwukropek i wcięty blok.

range() - Powtórz określoną liczbę razy

Gdy chcemy coś zrobić konkretną liczbę razy, używamy `range()`. Funkcja ta generuje ciąg liczb.

1# Wypisz dni ekspedycji od 1 do 5
2for day in range(1, 6):
3    print(f"Dzień {day} ekspedycji")
4
5# range(5) generuje 0, 1, 2, 3, 4
6for i in range(5):
7    print(f"Krok {i}")

Pamiętaj: `range(1, 6)` daje liczby od 1 do 5 - górna granica (6) nie jest wliczana. A `range(5)` zaczyna od 0 i daje 0, 1, 2, 3, 4.

Pętla while - Powtarzaj, dopóki warunek jest spełniony

Pętla `while` ("dopóki") powtarza kod tak długo, jak długo warunek jest `True`. Używamy jej, gdy nie wiemy z góry, ile powtórzeń będzie potrzebnych.

1water_supply = 5
2
3while water_supply > 0:
4    print(f"💧 Pozostało wody: {water_supply} litrów")
5    water_supply = water_supply - 1   # zużywamy litr
6
7print("Koniec zapasów wody!")

Python sprawdza warunek przed każdym powtórzeniem. Dopóki `water_supply > 0` jest `True`, wykonuje blok. Bardzo ważne: wewnątrz pętli musimy zmieniać warunek (tu: zmniejszać zapas wody), inaczej pętla nigdy się nie skończy - to tzw. nieskończona pętla.

break i continue - Sterowanie pętlą

Czasem chcemy przerwać pętlę wcześniej (`break`) albo pominąć jedno powtórzenie i przejść do następnego (`continue`).

1animals = ["Gazela", "Lew", "Antylopa", "Zebra"]
2
3for animal in animals:
4    if animal == "Lew":
5        print("⚠️ Drapieżnik! Przerywam obserwację.")
6        break   # wychodzimy z pętli
7    print(f"Bezpieczne: {animal}")
1numbers = [1, 2, 3, 4, 5, 6]
2
3for number in numbers:
4    if number % 2 != 0:
5        continue   # pomijamy liczby nieparzyste
6    print(f"Liczba parzysta: {number}")

Praktyka

Napisz pętlę, która zlicza wszystkie zwierzęta zaobserwowane podczas ekspedycji. Uzupełnij kod w edytorze:

Podsumowanie

W tej lekcji opanowałeś/aś powtarzanie kodu:

  • ✅ `for` - przechodzi przez elementy zbioru (np. listy)
  • ✅ `range()` - generuje ciąg liczb do powtórzeń
  • ✅ `while` - powtarza, dopóki warunek jest `True`
  • ✅ `break` - przerywa pętlę, `continue` - pomija jedno powtórzenie
  • ✅ Niebezpieczeństwo nieskończonej pętli

W ostatniej lekcji tego bloku Darwin pokaże Ci funkcje - jak opakować kod w narzędzie wielokrotnego użytku! 🧰🌴

Przejdź do CodeWorlds