Kurs Python · Moduł 1: Podstawy Pythona
Kontrola przepływu - Wybór ścieżki w dżungli
W tej lekcji6
Witaj! 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.
temperature = 35
if temperature > 30:
print("Gorąco! Zostań w cieniu.")
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").
water_supply = 2 # litry
if water_supply >= 3:
print("Mamy dość wody na dziś.")
else:
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.
temperature = 22
if temperature > 30:
print("Gorąco w dżungli!")
elif temperature >= 15:
print("Przyjemna temperatura na marsz.")
elif temperature >= 5:
print("Chłodno, weź kurtkę.")
else:
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:
temperature = 28
is_raining = False
if temperature > 20 and not is_raining:
print("Idealne warunki - wyruszamy na safari!")
else:
print("Zostajemy w obozie.")Praktyka
Napisz program, który ocenia, czy zwierzę jest niebezpieczne, na podstawie jego wagi. Uruchom kod w edytorze i zmień wartość weight (np. na 190 albo 5), żeby zobaczyć, która gałąź się wykona:
Kod do tej lekcji: main.py
# Kontrola przepływu - czy zwierzę jest niebezpieczne?
animal = "Słoń"
weight = 5000 # kg
# TODO: uzupełnij warunki if / elif / else
if weight > 1000:
print(f"{animal} to duże zwierzę - zachowaj dystans!")
elif weight >= 100:
print(f"{animal} - średniej wielkości, bądź ostrożny.")
else:
print(f"{animal} - małe zwierzę, bezpieczne.")
# Spróbuj zmienić weight na 190 albo 5 i uruchom ponownie!Podsumowanie
W tej lekcji nauczyłeś/aś się podejmować decyzje w kodzie:
if- wykonuje kod, gdy warunek jestTrueelse- wykonuje kod, gdy warunek jestFalseelif- sprawdza kolejne warunki, gdy poprzednie byłyFalse- 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!
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. Kiedy wykona się wcięty blok po if?
2. Do czego służy elif?
3. Co stawiamy na końcu linii z warunkiem if?
Zadania praktyczne w grze
- Układanie w pionie
Uporządkuj instrukcję warunkową: