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