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` 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.
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` ("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.
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}")Napisz pętlę, która zlicza wszystkie zwierzęta zaobserwowane podczas ekspedycji. Uzupełnij kod w edytorze:
W tej lekcji opanowałeś/aś powtarzanie kodu:
W ostatniej lekcji tego bloku Darwin pokaże Ci funkcje - jak opakować kod w narzędzie wielokrotnego użytku! 🧰🌴