CodeGym /Kursy /Python SELF PL /Operator warunkowy

Operator warunkowy

Python SELF PL
Poziom 2 , Lekcja 6
Dostępny

6.1 if else

W Pythonie, jak i w wielu językach programowania, polecenia można wykonywać nie tylko liniowo, ale i wybiórczo, zgodnie z pewnym warunkiem. Taka konstrukcja nazywa się operatorem warunkowym. Ogólny wygląd operatora warunkowego jest taki:

if warunek:
   komenda1
else:
   komenda2

Jeśli warunek jest prawdziwy (prawda, True), to zostanie wykonana komenda1, jeśli fałszywy (fałsz, False) to zostanie wykonana komenda2. Komendy nigdy nie wykonają się jednocześnie: albo jedna, albo druga.

Ważne! Podrzędna komenda lub komendy koniecznie(!) muszą być przesunięte o 4 spacje względem komend if i else. Bardziej szczegółowo o tym opowiem w następnym wykładzie „Blok komend”.

Przykłady:


y = 4
if y > 5:
    print("y większe niż 5")
else:
    print("y nie większe niż 5")
Warunek y > 5 jest fałszywy, więc zostanie wykonana gałąź else i program wypisze "y nie większe niż 5"

Kolejny przykład:


age = int(input("Podaj swój wiek:"))
if age >=18:
    print("jesteś pełnoletni")
else:
    print("idź odrabiać lekcje")
Jeśli użytkownik poda liczbę 18 i większą, to program wypisze „jesteś pełnoletni”, w przeciwnym razie wypisze „idź odrabiać lekcje”.

6.2 if bez else

Istnieją jeszcze 2 formy operatora warunkowego – skrócona i rozszerzona.

W skróconej formie brak jest części else.

if warunek:
    komenda

Jeśli warunek jest prawdziwy, to komenda zostanie wykonana. Jeśli nie jest prawdziwy, to nie zostanie wykonane nic – program przejdzie dalej i będzie wykonywać pozostałe komendy, jeśli takowe są.

Przykład:


age = int(input("Podaj swój wiek:"))
if age >=21:
    print("Oto twoje piwo!")
Jeśli użytkownik poda liczbę 21 i większą, to program wypisze „oto twoje piwo”. Jeśli liczba jest mniejsza niż 21 – program nie wypisze nic.

6.3 if elif else

Rozszerzona forma operatora if else pozwala połączyć kilka operatorów if else w jeden.

Załóżmy, że chcecie określić, do której ćwiartki płaszczyzny współrzędnych należy punkt o współrzędnych x i y. Tak można to zrobić za pomocą operatora if i else:


x, y = 5, -8
if x > 0 and y > 0:
    print("pierwsza ćwiartka")
else:
    if x < 0 and y > 0:
        print("druga ćwiartka")
    else:
        if x < 0 and y < 0:
            print("trzecia ćwiartka")
        else:
            print("czwarta ćwiartka")
 
Jeśli x > 0 i y > 0 to zostanie wypisane „pierwsza ćwiartka”. Jeśli x < 0 i y > 0 to zostanie wypisane „druga ćwiartka”. Jeśli x < 0 i y < 0 to zostanie wypisane „trzecia ćwiartka”. Jeśli x > 0 i y < 0 to zostanie wypisane „czwarta ćwiartka”.

Ponieważ nie można pomijać wcięć, a kod chce się uczynić czytelniejszym, wymyślono specjalny operator elif, który pozwala zamienić takie łańcuchy if-ów na coś bardziej czytelnego. Wygląda on tak:


if warunek1:
    komenda1
elif warunek2:
    komenda2
elif warunekN:
    komendaN
else:
    komendaElse

Słowo kluczowe elif – to skrót od else if. A kod z powyższego przykładu można teraz zapisać w postaci:


x, y = 5, -8
if x > 0 and y > 0:
    print("pierwsza ćwiartka")
elif x < 0 and y > 0:
    print("druga ćwiartka")
elif x < 0 and y < 0:
    print("trzecia ćwiartka")
else:
    print("czwarta ćwiartka")


Jeśli x > 0 i y > 0 to zostanie wypisane „pierwsza ćwiartka”. Jeśli x < 0 i y > 0 to zostanie wypisane „druga ćwiartka”. Jeśli x < 0 i y < 0 to zostanie wypisane „trzecia ćwiartka”. Jeśli x > 0 i y < 0 to zostanie wypisane „czwarta ćwiartka”.
1
Опрос
Wyrażenia i typy,  2 уровень,  6 лекция
недоступен
Wyrażenia i typy
Wyrażenia i typy
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION