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

Kontrola przepływu - Wybór ścieżki w dżungli

Witaj, @name! Stoimy na rozstaju szlaków. Jedna ścieżka prowadzi przez rzekę, druga przez gęsty las. Dobry badacz musi podejmować decyzje na podstawie warunków. W Pythonie do podejmowania decyzji służą instrukcje warunkowe: `if`, `elif` i `else`.

Instrukcja if - Jeśli warunek jest spełniony

Słowo `if` (z angielskiego "jeśli") sprawdza warunek. Jeśli warunek jest `True`, Python wykona wcięty blok kodu. Jeśli `False` - pominie go.

1temperature = 35
2
3if temperature > 30:
4    print("🔥 Gorąco! Zostań w cieniu.")
5    print("Pamiętaj o piciu wody.")

Zwróć uwagę na trzy rzeczy: po warunku stawiamy dwukropek `:`, a kod do wykonania jest wcięty (zwykle 4 spacje). To wcięcie mówi Pythonowi: "to należy do warunku". Warunek to wyrażenie zwracające `True` lub `False` - dokładnie to, czego nauczyłeś/aś się przy operatorach porównania.

if / else - Dwie ścieżki

Często chcemy zrobić jedną rzecz, gdy warunek jest spełniony, a inną - gdy nie. Do tego służy `else` ("w przeciwnym razie").

1water_supply = 2   # litry
2
3if water_supply >= 3:
4    print("💧 Mamy dość wody na dziś.")
5else:
6    print("⚠️ Mało wody! Trzeba znaleźć źródło.")

Python sprawdza warunek przy `if`. Jeśli jest `True` - wykona blok `if`. Jeśli `False` - przeskoczy do bloku `else`. Zawsze wykona się dokładnie jedna z dwóch ścieżek.

if / elif / else - Wiele ścieżek

A co, jeśli ścieżek jest więcej niż dwie? Wyobraź sobie, że oceniamy temperaturę: gorąco, przyjemnie albo zimno. Do tego służy `elif` (skrót od "else if" - "w przeciwnym razie jeśli"). Możesz dodać tyle bloków `elif`, ile potrzebujesz.

1temperature = 22
2
3if temperature > 30:
4    print("🔥 Gorąco w dżungli!")
5elif temperature >= 15:
6    print("🌤️ Przyjemna temperatura na marsz.")
7elif temperature >= 5:
8    print("🧥 Chłodno, weź kurtkę.")
9else:
10    print("❄️ Zimno! Rozpal ognisko.")

Python sprawdza warunki po kolei, od góry. Wykonuje blok pierwszego warunku, który jest `True`, i pomija resztę. Jeśli żaden warunek nie pasuje, wykona blok `else` (o ile istnieje). Dlatego kolejność ma znaczenie - sprawdzamy od najbardziej szczegółowych warunków.

Łączenie warunków w decyzjach

Pamiętasz operatory logiczne `and`, `or`, `not`? Świetnie sprawdzają się w instrukcjach warunkowych:

1temperature = 28
2is_raining = False
3
4if temperature > 20 and not is_raining:
5    print("✅ Idealne warunki - wyruszamy na safari!")
6else:
7    print("🏕️ Zostajemy w obozie.")

Praktyka

Napisz program, który ocenia, czy zwierzę jest niebezpieczne, na podstawie jego wagi. Uzupełnij brakujące warunki w edytorze:

Podsumowanie

W tej lekcji nauczyłeś/aś się podejmować decyzje w kodzie:

  • ✅ `if` - wykonuje kod, gdy warunek jest `True`
  • ✅ `else` - wykonuje kod, gdy warunek jest `False`
  • ✅ `elif` - sprawdza kolejne warunki, gdy poprzednie były `False`
  • ✅ Znaczenie dwukropka `:` i wcięcia w blokach
  • ✅ Łączenie warunków z `and`, `or`, `not`

W następnej lekcji Darwin nauczy Cię pętli - jak powtarzać czynności bez przepisywania kodu! 🔁🌴

Przejdź do CodeWorlds