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:
|
Warunek y > 5 jest fałszywy, więc zostanie wykonana gałąź else i program wypisze "y nie większe niż 5" |
Kolejny przykład:
|
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:
|
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
:
|
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:
|
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”. |
GO TO FULL VERSION