top of page

Python - instrukcja warunkowa


Instrukcja warunkowa if


Wstęp


W tej lekcji poznamy instrukcję warunkową (if), która umożliwia wykonanie fragmentu kodu, jeśli spełniony jest ustalony warunek. Przykładem zastosowania instrukcji warunkowej może być weryfikacja hasła. Użytkownik zostanie zalogowany na swoje konto, jeśli podane hasło będzie poprawne.


if

Instrukcja warunkowa ma następujący schemat:


if warunek:
    wiersz kodu do wykonania
    wiersz kodu do wykonania
    wiersz kodu do wykonania
    ...
 

Zaczynamy ją słowem if, a po spacji zapisujemy warunek zakończony dwukropkiem. if jest słowem kluczowym - specjalnym słowem zarezerwowanym w Pythonie, które nie może być używane jako nazwa zmiennej. W kolejnych lekcjach będziemy poznawali kolejne słowa kluczowe.

Warunkiem może być na przykład wspomniane wcześniej sprawdzenie poprawności hasła lub sprawdzenie, czy liczba jest z oczekiwanego zakresu. Jeśli warunek jest spełniony (prawdziwy), to zostaną wykonane instrukcje zapisane w bloku rozpoczynającym się w kolejnym wierszu. Instrukcje w bloku są wyróżnione dodatkowym wcięciem. Jeśli natomiast warunek nie jest spełniony, to program pomija blok instrukcji warunkowej i przechodzi dalej. Poniżej znajduje się kod sprawdzający poprawność hasła:

 
if haslo == "Codeforia!":
    print("Haslo poprawne")
 

Operatory porównania

Warunki tworzymy, wykorzystując zmienne, wartości oraz operatory porównania.


Równe (==)

Sprawdzenie, czy dwa elementy są takie same, realizujemy za pomocą operatora == (dwa znaki równości). Często ten operator jest mylony z operatorem przypisania = (jeden znak równości), który poznaliśmy w rozdziale ,,Zmienne”. Rozpatrzmy poniższy program:


if PIN == 1234:
    print("Poprawny PIN")
 

Jeśli w zmiennej PIN jest przechowywana wartość 1234, to na ekranie zostanie wypisane:

 
Poprawny PIN
 

W przeciwnym przypadku nic nie zostanie wypisane.


Różne (!=)

Do sprawdzenia, czy dwa elementy są różne, używa się operatora !=. Rozpatrzmy poniższy program.


if PIN != 1234:
    print("Niepoprawny PIN")
 

Jeśli w zmiennej PIN jest przechowywana wartość inna niż 1234, to na ekranie zobaczymy:


Niepoprawny PIN
 

W przeciwnym przypadku nic nie zostanie wypisane.


Mniejsze (<)

Sprawdzenie, czy wartość po lewej jest mniejsza od wartości po prawej, wykonujemy za pomocą operatora <. Przykładowo:


if wiek < 100:
    print("Za malo")
 

Większe (>)

Do sprawdzenia, czy wartość po lewej jest większa od tej po prawej, stosujemy operator >, jak poniżej.


if predkosc > 90:
    print("Mandat!")
 

Mniejsze lub równe (<=)

Sprawdzenie, czy wartość po lewej jest mniejsza od wartości po prawej lub jej równa, realizujemy za pomocą operatora <=. Przykładowo:


if waga_walizki <= 20:
    print("Poprawna")
 

Większe lub równe (>=)

Do sprawdzenia, czy wartość po lewej jest większa od wartości po prawej lub jej równa, służy operator >=. Na przykład:


if wiek >= 18:
    print("Osoba pelnoletnia")
 

else

Instrukcję warunkową możemy również rozszerzyć o informację, co powinno się stać, gdy warunek nie jest spełniony. Robimy to za pomocą słowa kluczowego else, po którym umieszczamy dwukropek i wcięty blok instrukcji.


if PIN == 1234:
    print("Poprawny PIN")
else:
    print("Niepoprawny PIN")
 

Zauważmy, że słowo kluczowe else jest tak samo wcięte jak if. Jeśli zmienna PIN ma wartość 1234, to na ekranie zostanie wypisany komunikat “Poprawny PIN”. W przeciwnym przypadku zobaczymy komunikat “Niepoprawny PIN”.


elif

Napiszmy program, który sprawdzi, czy liczba jest dodatnia.


if liczba > 0:
    print("Dodatnia")
 

Rozbudujmy go teraz o sprawdzenie, czy liczba jest ujemna. Taki warunek zapiszmy po słowie kluczowym elif i zakończmy go dwukropkiem. Warunek będzie sprawdzany, jeśli nie jest prawdziwy wcześniejszy warunek. Blok instrukcji poprzedzamy dodatkowym wcięciem.


if liczba > 0:
    print("Dodatnia")
elif liczba < 0:
    print("Ujemna")
 

Dodajmy sprawdzenie, czy liczba jest zerem.


if liczba > 0:
    print("Dodatnia")
elif liczba < 0:
    print("Ujemna")
elif liczba == 0:
    print("Zero")
 

Instrukcja warunkowa może zawierać wiele składowych elif. Warunki są sprawdzane od góry do dołu. Wykonany będzie pierwszy spełniony warunek. Może się też zdarzyć, że żaden wcześniejszy warunek nie będzie spełniony (ani ten po if, ani ten po elif). Aby nasz program uwzględnił taką ewentualność, możemy użyć else. Jeśli liczba nie jest ani dodatnia, ani ujemna, to musi być równa 0.


if liczba > 0:
    print("Dodatnia")
elif liczba < 0:
    print("Ujemna")
else:
    print("Zero")

Składowa else może być tylko jedna i musi znajdować się na końcu instrukcji warunkowej.

 

Trenuj z nami!

example lesson on codeforia

Pisanie programów jest bardzo ważnym elementem nauki programowania. Możesz to robić rozwiązując zadania (mikroprojekty) dostępne na naszej platformie edukacyjnej Codeforia. Rozwiązania są sprawdzane automatycznie, a po chwili od wysłania kodu dowiesz się, czy jest ono poprawne, czy wymaga zmian. Zapraszamy również na regularne zajęcia online, gdzie będziesz mógł/mogła rozwijać się pod okiem doświadczonego trenera.

Zobacz nasze dostępne kursy. AleMózgi



Kursy programowania dla dzieci i młodzieży.

bottom of page