W tej lekcji poznasz instrukcje warunkowe w Pythonie. Dzięki nim program może podejmować decyzje — wykonywać pewne instrukcje tylko wtedy, gdy spełniony jest jakiś warunek. Dzięki temu nasze programy stają się bardziej „inteligentne” i reagują inaczej w różnych sytuacjach.
Podstawowa budowa instrukcji if...
Najprostsza instrukcja warunkowa ma postać:
if warunek:
instrukcjeElementy, o które trzeba zadbać:
- po słowie
ifzawsze stawiamy dwukropek:; - linie należące do bloku
ifmuszą być wcięte (najczęściej 4 spacje); - warunek to wyrażenie, które daje wartość prawda/fałsz (True/False).
Przykład krok po kroku
x = 10
if x > 5:
print("Liczba jest większa niż 5")
else:
print("Liczba jest mniejsza lub równa 5")Co się tutaj dzieje (krok po kroku):
- Program patrzy na wartość zmiennej
x(tu: 10). - Oceni wyrażenie
x > 5— to jest warunek. Dla 10 warunek jest prawdziwy (True). - Skoro warunek jest prawdziwy, wykona się blok znajdujący się pod
if(linia zprint("Liczba jest większa niż 5")). - Blok po
elsezostanie pominięty — wykonuje się tylko gdy warunek był nieprawdziwy (False).
Operatory porównania
W warunkach używamy operatorów porównania. Oto najważniejsze z nich wraz z krótkim wyjaśnieniem:
==— równe (np.5 == 5daje True)!=— różne (np.3 != 4daje True)>— większe (np.7 > 4)<— mniejsze (np.2 < 5)>=— większe lub równe<=— mniejsze lub równe
Uwaga: pojedynczy = służy do przypisania wartości (np. x = 5), natomiast podwójny == porównuje wartości (np. x == 5).
Rozszerzenia: elif i zagnieżdżenia
Czasami chcemy sprawdzić kilka warunków po kolei. Wtedy używamy elif (skrót od "else if"):
x = 0
if x > 0:
print("dodatnia")
elif x < 0:
print("ujemna")
else:
print("równa zero")Instrukcja działa tak: najpierw sprawdzany jest pierwszy if. Jeśli nie jest prawdziwy — sprawdzany jest elif. Jeśli żaden warunek nie jest prawdziwy, wykonuje się else (jeśli istnieje).
Można także zagnieżdżać instrukcje if wewnątrz innych bloków if, ale trzeba uważać na czytelność kodu — często lepiej użyć dodatkowych warunków lub funkcji.
Łączenie warunków: and, or, not
Możesz łączyć warunki logicznie:
and— oba warunki muszą być prawdziwe (np.x > 0 and x < 10);or— wystarczy, że jeden z warunków jest prawdziwy (np.x < 0 or x > 100);not— neguje warunek (np.not (x > 0)jest prawdziwe, gdyx <= 0).
Przykłady krótkie
1) Sprawdzenie typu zmiennej (przykład pokazowy):
value = "Ala"
if isinstance(value, str):
print("To jest tekst (string)")2) Warunek z użyciem and:
x = 7
if x > 0 and x <= 10:
print("x jest liczbą od 1 do 10")Najczęstsze błędy
- Brak dwukropka po
if/else/elif— Python zgłosi błąd składni. - Niewłaściwe wcięcia — każdy blok musi mieć spójne wcięcie (np. 4 spacje).
- Pomylenie
=i==— przypisanie zamiast porównania. - Zapomnij o nawiasach logicznych w skomplikowanych wyrażeniach — czasem warto użyć nawiasów, by uniknąć niejasności.
Zadania do samodzielnej pracy (nie podaję gotowych rozwiązań)
Spróbuj wykonać poniższe zadania samodzielnie. Poniżej każde zadanie ma krótki podpowiednik, ale nie pełne rozwiązanie — to ma Ci pomóc zrozumieć, jak do tego podejść.
Napisz program, który sprawdzi, czy liczba
x = 7jest większa niż 10, i wypisze odpowiedni komunikat.Podpowiedź: porównaj
x > 10. Jeśli warunek jest prawdziwy, wypisz komunikat dla sytuacji "większa", w przeciwnym razie inny komunikat.Stwórz zmienną
ni nadaj jej dowolną liczbę. Sprawdź, czy jest parzysta (warunekn % 2 == 0). Wypisz "parzysta" lub "nieparzysta".Podpowiedź: operator
%daje resztę z dzielenia. Jeślin % 2równa się 0, liczba jest parzysta.Stwórz zmienną
x = 4. Użyj instrukcjiif...else, aby sprawdzić, czyx == 4, i wypisz tekst dla obu przypadków.Podpowiedź: pamiętaj o operatorze porównania
==i o dwukropku oraz wcięciach.
Jak sprawdzić, czy Twój kod działa?
- Uruchom program i zobacz, jaki komunikat pojawia się na ekranie — czy zgadza się z oczekiwaniem?
- Zmieniając wartości zmiennych (np.
xlubn), sprawdź różne ścieżki wykonania programu (gdy warunek jest prawdziwy i gdy jest fałszywy). - Jeśli pojawi się błąd składni, przeczytaj komunikat Pythona — zwykle wskaże linijkę i problem (np. brak dwukropka lub błędne wcięcie).
Powodzenia! Jeśli utkniesz — napisz, co zrobiłeś i jaki otrzymałeś komunikat błędu lub jakie zachowanie programu Cię zaskoczyło; pomogę Ci znaleźć błąd, nie podając gotowego rozwiązania.