Kurs Python · Moduł 1: Podstawy Pythona
Pętle - Cykle natury
W tej lekcji5
Witaj! 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.
animals = ["Lew", "Słoń", "Żyrafa", "Pyton"]
for animal in animals:
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.
# Wypisz dni ekspedycji od 1 do 5
for day in range(1, 6):
print(f"Dzień {day} ekspedycji")
# range(5) generuje 0, 1, 2, 3, 4
for i in range(5):
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.
water_supply = 5
while water_supply > 0:
print(f"Pozostało wody: {water_supply} litrów")
water_supply = water_supply - 1 # zużywamy litr
print("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).
animals = ["Gazela", "Lew", "Antylopa", "Zebra"]
for animal in animals:
if animal == "Lew":
print("Drapieżnik! Przerywam obserwację.")
break # wychodzimy z pętli
print(f"Bezpieczne: {animal}")numbers = [1, 2, 3, 4, 5, 6]
for number in numbers:
if number % 2 != 0:
continue # pomijamy liczby nieparzyste
print(f"Liczba parzysta: {number}")Praktyka
Napisz pętlę, która zlicza wszystkie zwierzęta zaobserwowane podczas ekspedycji. Uruchom pętle w edytorze i dopisz do listy kolejne zwierzę:
Kod do tej lekcji: main.py
# Pętle - zliczanie zwierząt podczas ekspedycji
animals = ["Lew", "Słoń", "Żyrafa", "Zebra", "Pyton"]
# TODO: użyj pętli for, aby wyświetlić każde zwierzę
for animal in animals:
print(f"Zaobserwowano: {animal}")
# TODO: policz, ile jest zwierząt (zlicz w pętli)
count = 0
for animal in animals:
count = count + 1
print(f"Łącznie zaobserwowano {count} zwierząt")
# TODO: użyj range(), aby wypisać 3 dni ekspedycji
for day in range(1, 4):
print(f"Dzień {day} ekspedycji")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 jestTruebreak- 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!
Hasła z dokumentacji w tej lekcji
Widzisz błąd w tej lekcji?
Sprawdź się
Odpowiedz na pytania z tej lekcji. Wybierz odpowiedź, a od razu zobaczysz, czy jest poprawna.
1. Po czym przechodzi pętla for w przykładzie for animal in animals?
2. Jakie liczby wygeneruje range(1, 6)?
3. Co robi instrukcja break w pętli?
Zadania praktyczne w grze
- Układanie w pionie
Uporządkuj pętlę while, która wypisze kolejno 5, 4, 3, 2, 1: