W programowaniu używamy instrukcji warunkowej if do uruchomienia bloku instrukcji tylko wtedy, gdy spełniony jest określony warunek. Zaczniemy od przyjrzenia się najbardziej podstawowej składni instrukcji if, która wygląda następująco:
if <warunek>:
<instrukcja-1>
...
<instrukcja-2>
<instrukcja-po-if>
W pierwszej linijce powyższego kodu program sprawdza warunek. Jeżeli jest on spełniony, to program przechodzi do wnętrza bloku, czyli do instrukcji <instrukcja-1>. Po zakończeniu wykonywania wszystkich instrukcji wewnątrz bloku if, program przechodzi do następnej instrukcji, czyli <instrukcja-po-if>. Zwróćmy uwagę, że wszystkie instrukcje wewnątrz bloku są wcięte, jak to ma miejsce w Pythonie, np. przy tworzeniu funkcji, czy pętli. Jeśli warunek w pierwszej linii nie jest spełniony, wówczas program pomija cały blok if i przechodzi do instrukcji <instrukcja-po-if>. Pamiętajmy, że Python wymaga wstawienia dwukropka po warunku. W przeciwieństwie do wielu języków programwoania, nie jest wymagane ujęcie warunku w nawias. Zasadę działania instrukcji warunkowej if zilustrowałem na poniższym rysunku.
Przykład 1. Instrukcja if
n = 5
if n < 10:
print(n)
print("Koniec")
n = 5
if n < 4:
print(n)
print("Koniec")
Wynik
5
Koniec
Koniec
Instrukcja warunkowa “if…else”
Instrukcji warunkowa “if…else” w języku Python (jak i w innych językach) używamy do wykonywania różnych działań w zależności od spełnienia określonego warunku.
Przykład 2. Intrukcja “if…else”
wiek = 18
if wiek >= 18:
print("Jesteś pełnoletni.")
else:
print("Jesteś niepełnoletni.")
Wynik
Jesteś pełnoletni.
W przykłdzie powyżej, jeśli wiek wynosi 18 lub więcej, zostanie wydrukowany komunikat “Jesteś pełnoletni”. W przeciwnym razie zostanie wydrukowany komunikat “Jesteś niepełnoletni”.
Instrukcja warunkowa “if…elif…else”
Instrukcja warunkowa “if…elif…else” jest bardziej rozbudowana niż “if…else” i pozwala obsłużyć wiele warunków. Działanie zilustruję na przykladzie.
Przykład 3. Instrukcja “if…elif…else”
dzien_tygodnia = "czwartek"
if dzien_tygodnia == "poniedziałek":
print("Dziś jest poniedziałek.")
elif dzien_tygodnia == "wtorek":
print("Dziś jest wtorek.")
elif dzien_tygodnia == "środa":
print("Dziś jest środa.")
elif dzien_tygodnia == "czwartek":
print("Dziś jest czwartek.")
elif dzien_tygodnia == "piątek":
print("Dziś jest piątek.")
else:
print("Dziś jest weekend.")
Wynik
Dziś jest czwartek.
W tym przykładze, zmienna dzien_tygodnia jest porównywana z kolejnymi nazwami dni tygodnia. W zależności od wartości zmiennej zostanie wydrukowany odpowiedni komunikat. Jeśli dzien_tygodnia wynosi “czwartek”, zostanie wydrukowany komunikat “Dziś jest czwartek.” Jeśli nie pasuje do żadnego z warunków, zostanie wykonany blok “else”, który drukuje “Dziś jest weekend.”
Podsumowanie
Z artykułu dowiedziałeś się jak używać instrukcji if w Pythonie, a w szczególności jak napisać:
- prostą instrukcję if,
- instrukcję if-else,
- instrukcję if-elif-else.