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:
for - przechodzi przez elementy zbioru (np. listy)range() - generuje ciąg liczb do powtórzeńwhile - powtarza, dopóki warunek jest Truebreak - przerywa pętlę, continue - pomija jedno powtórzenieW ostatniej lekcji tego bloku Darwin pokaże Ci funkcje - jak opakować kod w narzędzie wielokrotnego użytku!