Gdy program ma zdecydować, czy wyświetlić komunikat, wykonać obliczenie albo zaakceptować dane, potrzebuje logicznego „jeśli”. Właśnie temu służy instrukcja warunkowa, która pozwala uzależnić działanie kodu od konkretnej sytuacji. Pokażę, jak działa konstrukcja if, else i elif, jak budować poprawne warunki oraz jakie błędy początkujący popełniają najczęściej.
Instrukcja warunkowa pozwala programowi podejmować decyzje
- Warunek sprawdza, czy określone wyrażenie jest prawdziwe.
- if uruchamia kod tylko wtedy, gdy warunek został spełniony.
- else opisuje działanie programu w pozostałych przypadkach.
- elif pozwala sprawdzić kilka możliwości po kolei.
- Operatory logiczne umożliwiają łączenie kilku warunków.

Instrukcja warunkowa decyduje, którą ścieżką pójdzie program
Instrukcja warunkowa to fragment kodu, który sprawdza określony warunek i na tej podstawie wybiera dalsze działanie. Program może wykonać jedną instrukcję, inną instrukcję albo nie zrobić nic, jeśli sytuacja nie spełnia założeń.
Najłatwiej wyobrazić ją sobie jako decyzję przy szyciu czapki. Jeśli obwód głowy wynosi mniej niż 54 cm, wybierasz mniejszy rozmiar. Jeśli jest większy, korzystasz z większego wykroju. Program działa podobnie, tylko zamiast materiału i centymetra analizuje liczby, teksty lub wartości logiczne.
if obwod < 54:
print("Wybierz mniejszy wykrój")
else:
print("Wybierz większy wykrój")
W tym przykładzie warunkiem jest obwod < 54. Jeżeli okaże się prawdziwy, program wyświetli pierwszy komunikat. Gdy warunek będzie fałszywy, wykona blok przypisany do else. To właśnie jest podstawowy mechanizm rozgałęziania programu.
Jak działają if, else i elif
Najprostsza forma wygląda tak:
if warunek:
instrukcja
Słowo if oznacza „jeżeli”. Kod zapisany wewnątrz bloku wykona się wyłącznie wtedy, gdy warunek ma wartość True, czyli prawda. Gdy otrzyma wartość False, program pominie ten fragment i przejdzie dalej.
Jeżeli chcemy opisać także drugą możliwość, dodajemy else:
if temperatura < 20:
print("Załóż cieplejszą czapkę")
else:
print("Możesz wybrać lekką czapkę")
Klauzula else nie ma własnego warunku. Uruchamia się wtedy, gdy żaden warunek z if nie został spełniony. Jest dobrym rozwiązaniem, gdy program musi wybrać jedną z dwóch dróg.
Przy większej liczbie możliwości używamy elif, czyli „w przeciwnym razie, jeśli”:
if obwod < 54:
rozmiar = "S"
elif obwod < 58:
rozmiar = "M"
else:
rozmiar = "L"
print(rozmiar)
Program sprawdza warunki od góry do dołu. Gdy znajdzie pierwszy prawdziwy, wykona jego blok i pominie pozostałe. Z mojego punktu widzenia to ważna zasada, bo kolejność warunków często decyduje o tym, czy kod działa zgodnie z zamierzeniem.
| Konstrukcja | Kiedy jej użyć | Przykład zastosowania |
|---|---|---|
if |
Gdy chcesz wykonać kod tylko po spełnieniu warunku | Sprawdzenie, czy materiał jest dostępny |
if...else |
Gdy istnieją dwie możliwe ścieżki | Mały albo duży rozmiar czapki |
if...elif...else |
Gdy trzeba rozróżnić kilka przypadków | Dobór rozmiaru S, M lub L |
Jak zbudować poprawny warunek
Warunek może porównywać wartości, sprawdzać tekst albo oceniać, czy dana informacja istnieje. W Pythonie i wielu innych językach stosuje się do tego operatory porównania:
-
==oznacza „jest równe”, -
!=oznacza „jest różne od”, -
>oznacza „jest większe niż”, -
<oznacza „jest mniejsze niż”, -
>=oznacza „jest większe lub równe”, -
<=oznacza „jest mniejsze lub równe”.
Przykład kontroli danych może wyglądać tak:
liczba_warstwy = 2
if liczba_warstwy >= 2:
print("Czapka będzie cieplejsza")
else:
print("Czapka będzie lżejsza")
Do łączenia warunków służą operatory logiczne. and wymaga, aby oba warunki były prawdziwe, or dopuszcza spełnienie przynajmniej jednego, a not odwraca wynik logiczny.
material = "dresówka"
obwod = 56
if material == "dresówka" and obwod >= 54:
print("Możesz przygotować standardowy wykrój")
Ten zapis zadziała tylko wtedy, gdy materiał ma właściwą nazwę i obwód spełnia podany próg. W praktyce lepiej tworzyć krótkie i czytelne warunki niż upychać wiele zależności w jednym wierszu. Jeśli logika zaczyna być trudna do przeczytania, warto rozbić ją na kilka etapów.
Praktyczne przykłady zastosowania
Instrukcje warunkowe pojawiają się niemal wszędzie. Mogą sprawdzać poprawność formularza, przyznawać rabat, sterować grą, wybierać rozmiar produktu albo decydować, czy urządzenie ma wykonać określoną czynność.
Sprawdzanie poprawności danych
haslo = "czapka2026"
if len(haslo) >= 8:
print("Hasło jest wystarczająco długie")
else:
print("Hasło powinno mieć co najmniej 8 znaków")
Funkcja len() zwraca liczbę znaków. Dzięki warunkowi program może od razu poinformować użytkownika o błędzie, zamiast przyjmować niepoprawne dane.
Dobieranie komunikatu do wyniku
ocena = 4
if ocena == 5:
print("Świetny wynik")
elif ocena >= 3:
print("Wynik jest pozytywny")
else:
print("Spróbuj jeszcze raz")
Tutaj znaczenie ma kolejność. Najpierw sprawdzamy najwyższą ocenę, później szerszy zakres wyników. Gdybyśmy zaczęli od warunku ocena >= 3, wartość 5 zostałaby przechwycona wcześniej i program nie wyświetliłby komunikatu o świetnym wyniku.
Decyzja zależna od kilku parametrów
obwod = 57
usztywnienie = True
if obwod >= 56 and usztywnienie:
print("Wykrój pasuje do czapki z usztywnionym daszkiem")
else:
print("Sprawdź wymiary i rodzaj konstrukcji")
Ten przykład dobrze pokazuje, że program może uwzględniać więcej niż jedną cechę. Sam obwód nie wystarcza, jeśli dalsza decyzja zależy także od rodzaju konstrukcji.
Najczęstsze błędy w instrukcjach warunkowych
Sam pomysł jest prosty, ale kilka drobnych pomyłek potrafi całkowicie zmienić wynik działania programu. Najczęściej problemem nie jest składnia, lecz nieprecyzyjne opisanie sytuacji.
Pomylenie operatora == z =
Pojedynczy znak = służy zwykle do przypisania wartości, a podwójny == do porównania. Dlatego poprawny zapis to:
if rozmiar == "M":
print("Wybrano średni rozmiar")
Użycie = w miejscu porównania może zakończyć się błędem albo doprowadzić do nieoczekiwanego działania, zależnie od języka programowania.
Nieprawidłowe wcięcia
W Pythonie wcięcie pokazuje, które instrukcje należą do danego warunku. Wszystkie polecenia w bloku powinny być wyrównane w ten sam sposób:
if material == "bawełna":
print("Wybierz igłę do dzianin")
print("Ustaw delikatny ścieg")
Brak wcięcia albo przypadkowe przesunięcie jednej linii może spowodować błąd. W innych językach rolę wcięć często pełnią nawiasy klamrowe, ale czytelne formatowanie nadal ma ogromne znaczenie.
Zbyt szeroki lub źle ustawiony warunek
Jeśli warunek jest prawdziwy dla zbyt wielu przypadków, program może wykonać nie tę gałąź, której oczekujesz. Przed napisaniem kodu dobrze rozpisać sobie konkretne przykłady graniczne, na przykład obwód 53, 54 i 58 cm, i sprawdzić, co powinno się wydarzyć w każdej sytuacji.
Przeczytaj również: Czy instrukcja kasowa jest obowiązkowa? Sprawdź, co musisz wiedzieć
Zagnieżdżanie bez potrzeby
Instrukcja zagnieżdżona znajduje się wewnątrz innej instrukcji warunkowej. Czasem jest potrzebna, ale nadmiar takich poziomów szybko utrudnia czytanie kodu. Nierzadko prostsze połączenie z and daje ten sam efekt w bardziej przejrzystej formie.
Jak pisać warunki, które łatwo później poprawić
Zanim zapiszę instrukcję warunkową, najpierw formułuję decyzję zwykłym zdaniem. Na przykład „jeśli obwód jest mniejszy niż 54 cm, wybierz rozmiar S”. Dopiero potem zamieniam ją na kod. Ten prosty krok ogranicza pomyłki i pomaga zauważyć brakujący przypadek.
Dobrze też ustalić, co ma się stać, gdy dane są puste, nietypowe albo znajdują się dokładnie na granicy. Program nie domyśli się, czy obwód równy 54 cm ma należeć do rozmiaru S, czy M. To autor musi jasno określić za pomocą operatora <, <=, > albo >=.
W większym projekcie warto nadawać zmiennym zrozumiałe nazwy, na przykład obwod_glowy zamiast x. Dzięki temu warunek mówi niemal sam za siebie, a jego poprawianie po tygodniu czy miesiącu nie wymaga rozszyfrowywania skrótów.
Instrukcja warunkowa nie jest więc tylko technicznym dodatkiem do programu. To sposób zapisywania decyzji, które w codziennym szyciu podejmujemy intuicyjnie: dobieramy rozmiar, sprawdzamy materiał i reagujemy na konkretny wynik pomiaru. Gdy nauczysz się rozbijać takie decyzje na jasne „jeśli”, „w przeciwnym razie” i „jeśli kolejny warunek”, wiele podstaw programowania stanie się znacznie prostszych.
