
Instrukcje warunkowe w Pythonie
W artykule Instrukcje warunkowe w Pythonie przedstawiam informacje, w jaki sposób podejmować decyzje w programie na podstawie określonych warunków. Instrukcje warunkowe stanowią jedną z podstawowych konstrukcji w każdym języku programowania. Są one również ważną częścią języka Python.
Do czego służą instrukcje warunkowe w Pythonie?
Instrukcje warunkowe w Pythonie są podstawowym narzędziem do implementacji logiki decyzyjnej w programach. Dzięki nim możemy kontrolować, które fragmenty kodu mają zostać wykonane, w zależności od spełnienia określonych warunków.
Instrukcje warunkowe umożliwiają:
- decydowanie o wykonaniu określonych bloków kodu – możemy wykonać jedną część kodu, jeśli warunek jest spełniony, a inną, gdy warunek jest fałszywy
- zagnieżdżanie warunków – używając instrukcji if, elif, else, możemy tworzyć złożoną logikę, która pozwala na podejmowanie decyzji na różnych poziomach, w zależności od wielu zmiennych
- porównywanie wartości i wyrażeń logicznych – instrukcje warunkowe umożliwiają wykorzystanie operatorów porównania np. ==, >, < oraz logicznych np. and, or, co umożliwia porównywanie zmiennych np. sprawdzenie czy użytkownik podał właściwy login oraz hasło
- optymalizacja przepływu programu – dzięki warunkom możemy dynamicznie decydować, które operacje są potrzebne w danym momencie, co może poprawić wydajność i przejrzystość kodu
- wykonywanie różnych działań w zależności od stanu aplikacji np. w zależności od stanu użytkownika (zalogowany/niezalogowany) czy stanu aplikacji (tryb produkcyjny/deweloperski), możemy zarządzać sposobem działania programu.
Dzięki instrukcjom warunkowym możliwe jest podejmowanie decyzji, które kierują przepływem programu w zależności od sytuacji.
Czym jest warunek logiczny w instrukcjach warunkowych?
Warunek logiczny w instrukcjach warunkowych to wyrażenie, które zwraca jedną z dwóch możliwych wartości: prawda (True) lub fałsz (False).
Na podstawie wyniku warunku logicznego program podejmuje decyzję, którą ścieżkę wykonać.
Wcięcia składni w Pythonie
W Pythonie wcięcia mają kluczowe znaczenie dla struktury kodu i określają, które instrukcje należą do danej grupy, takiej jak funkcja, pętla, warunek czy klasa.
W odróżnieniu od innych języków programowania, w Pythonie nie używa się nawiasów klamrowych {} do oznaczania bloków kodu. Zamiast tego, struktura kodu jest oparta na wcięciach, które są stosowane za pomocą spacji (najczęściej 4 spacje na jedno wcięcie).
Jeśli wcięcie jest nieprawidłowe lub niezgodne z resztą kodu, Python zgłosi błąd składniowy.
Wcięcia składni w instrukcjach warunkowych w Pythonie
Instrukcje warunkowe, takie jak if, elif, else, wymagają wcięcia dla instrukcji, które powinny zostać wykonane, gdy warunek jest spełniony. Bez wcięć Python nie rozpoznaje, które linie kodu są częścią danej instrukcji warunkowej.
Poniżej przykład wcięć w instrukcjach warunkowych:
x = 15 if x > 20: print('x jest większe niż 20') elif x > 10: print('x jest większe niż 10, ale mniejsze lub równe 20') elif x > 5: print('x jest większe niż 5, ale mniejsze lub równe 10') else: print('x jest mniejsze lub równe 5')
Prosta instrukcja if
Prosta instrukcja if pozwala na wykonanie bloku kodu tylko wtedy, gdy spełniony jest określony warunek logiczny.
Instrukcja if działa następująco:
- warunek jest sprawdzany
- jeśli warunek jest prawdziwy (True), kod wewnątrz instrukcji if zostanie wykonany
- jeśli warunek jest fałszywy (False), kod wewnątrz if zostanie pominięty.
wartosc_zamowienia = 750 # zł punkty_lojalnosciowe = 0 if wartosc_zamowienia > 500: punkty_lojalnosciowe += 50 print(punkty_lojalnosciowe)
W przykładzie:
- program przydziela punkty lojalnościowe na podstawie wartości zamówienia
- do zmiennej wartosc_zamowienia przypisana jest wartość 750 zł
- do zmiennej punkty_lojalnosciowe przypisana jest wartość 0
- w bloku If program sprawdza, czy wartość zamówienia (wartosc_zamowienia) jest większa niż 500 zł
- jeśli wartość zamówienia jest większa niż 500 zł (w przykładzie jest), za pomocą operatora przypisania z dodawaniem, do zmiennej punkty_lojalnosciowe dodawane jest 50 punktów
- jeśli wartość zamówienia nie jest większa ni 500 zł, nie jest podejmowana żadna akcja
- za pomocą funkcji print() program wyświetla wartość zmiennej punkty_lojalnosciowe
- jeśli warunek nie jest spełniony, program nie wykonuje żadnej akcji.
W przykładzie używam operatora przypisania z dodawaniem. Więcej informacji na temat operatorów znajdziesz w artykule Python operatory. Informacje na temat zmiennych znajdziesz w artykule Python zmienne.
Instrukcja wyboru pełnego if … else
Instrukcja if … else pozwala na warunkowe wykonywanie różnych bloków kodu w zależności od tego, czy spełniony jest określony warunek.
Instrukcja if … else działa następująco:
- instrukcja if sprawdza, czy dany warunek jest prawdziwy (True). Jeśli warunek jest spełniony tzn. wynik wyrażenia w if jest prawdziwy, wykonany zostanie blok kodu znajdujący się pod if
- instrukcja else – jeśli warunek w if jest fałszywy (False), wykonany zostanie blok kodu znajdujący się pod else.
# Wprowadzenie dochodu dochód = float(input("Podaj swój dochód (w zł): ")) # Obliczanie podatku if dochód < 10000: podatek1 = dochód * 0.05 # Podatek 5% print(podatek1) else: podatek2 = dochód * 0.10 # Podatek 10% print(podatek2)
W przykładzie:
- używamy funkcji input(), za pomocą której pobieramy od użytkownika informacje o dochodzie
- używamy funkcji float(), aby zrobić konwersję wprowadzonych przez użytkownika danych na typ zmiennoprzecinkowy. Funkcja input() pozwala na wprowadzenie ciągu znaków. Musimy ten ciąg przekonwertować, aby możliwe było wykonywanie obliczeń. Na ciągach tekstowych nie można wykonywać obliczeń.
- podane przez użytkownika informacje przypisujemy do zmiennej dochód
- w instrukcji if sprawdzamy, czy wartość w zmiennej dochód jest mniejsza niż 10 tys.
- jeśli tak, mnożymy dochód razy 5%, przypisujemy wynik do zmiennej podatek1 i wyświetlamy wartość zmiennej podatek1
- jeśli nie, przechodzimy do bloku else, w którym mnożymy dochód razy 10%, przypisujemy wynik do zmiennej podatek2 i wyświetlamy wartość zmiennej podatek2.
Instrukcja wyboru wielokrotnego if … elif … else
Instrukcja wyboru wielokrotnego if … elif … else pozwala sprawdzić wiele warunków w kodzie i wybrać odpowiednią akcję w zależności od tego, który warunek jest spełniony.
Instrukcja if … elif … else działa następująco:
- instrukcja if – sprawdza pierwszy warunek. Jeśli jest spełniony, wykonuje blok kodu znajdujący się pod if, a pozostałe warunki są pomijane
- instrukcja elif – sprawdza kolejny warunek, jeśli poprzedni był fałszywy. Można dodać dowolną ilość instrukcji elif
- instrukcja else – wykonuje się, gdy żaden z wcześniejszych warunków nie został spełniony.
wynik = 85 if wynik >= 90: print('ocena 5') elif wynik >= 80: print('ocena 4') elif wynik >= 70: print('ocena 3') else: print('ocena 2')
W przykładzie:
- do zmiennej wynik przypisujemy liczbę 85
- w instrukcji if sprawdzamy, czy liczba w zmiennej wynik jest większa równa 90, jeśli tak wyświetlamy komunikat „ocena 5”
- w pierwszej instrukcji elif sprawdzamy, czy liczba w zmiennej wynik jest większa równa 80, jeśli tak wyświetlamy komunikat „ocena 4”
- w drugiej instrukcji elif sprawdzamy, czy liczba w zmiennej wynik jest większa równa 70, jeśli tak wyświetlamy komunikat „ocena 3”
- w instrukcji else wyświetlamy komunikat „ocena 2”
Kolejność wykonywania instrukcji
Instrukcje warunkowe w Pythonie stanowią podstawowe narzędzie do podejmowania decyzji w programie. Pozwalają na dynamiczne dostosowanie działania kodu w zależności od spełnienia określonych warunków. Ich elastyczność i czytelna składnia umożliwiają tworzenie zarówno prostych, jak i złożonych struktur decyzyjnych.
W przypadku prostych wyborów, wystarczy użyć instrukcji if lub if … else. Dla bardziej złożonych scenariuszy z wieloma warunkami najlepiej sprawdza się struktura if … elif … else. Ważne jest, by logicznie układać warunki, gdyż Python sprawdza warunki od góry do dołu i wykonuje tylko pierwszy spełniony blok kodu.
Instrukcje warunkowe oraz inne elementy języka Python prezentujemy szczegółowo na naszym kursie Python poziom podstawowy. Zapraszamy do udziału w szkoleniu.
