Python: Instrukcje warunkowe i operatory logiczne

article-thumbnail

Wstęp

Instrukcje warunkowe są kluczowym narzędziem do kontrolowania przepływu programu w świecie programowania. W języku Python, pozwalają one programiście wykonać różne działania w zależności od spełnienia określonych warunków. Omówimy teraz podstawowe zasady instrukcji warunkowych oraz pokażemy, jak można je używać w praktyce.

Czym są instrukcje warunkowe ?

Aby lepiej zrozumieć wyobraź sobie że chcesz iść na pole, ale nie wiesz w co musisz się ubrać, aby nie było za zimno, ani za gorąco.

W języku polskim to by wyglądało następująco:

temperatura wynosi +23.

jeśli temperatura jest większa od 23 stopni, to załóż spodenki i koszulkę.

jeśli temperatura jest mniejsza od 10 stopni, to załóż kurtkę i spodnie.

Każde zdanie które zawiera słowo jeśli i to” jest instrukcją warunkową.

Tak samo część zdania, która jest ułożona po jeśli jest warunkiem, a po to” instrukcją.

Interpretując to do języka Python otrzymamy następujący program:

temperatura = 23

if temperatura > 23:
	print('Super pogoda ! Polecam założyć spodenki i koszulkę')
elif temperatura < 10:
	print('Słońce świeci lecz nie grzeje ! Polecam założyć kurtke i spodnie')
else:
	print('Nie moge zrozumieć jaka jest pogoda')

*Nie myl `=` i `==`. `=` jest używane do nadania zmiennej wartości, `==` jest używane do porównywania z inną zmienną lub wartością.

Za co odpowiadają poszczególne bloki ?

if wykonuje blok kodu, jeśli warunek jest prawdziwy.

elif ( skrót od else if ) sprawdza kolejny warunek, jeśli poprzednie nie zostały spełnione.

*warunków elif może być nieograniczona ilośc

else wykonuje blok kodu, jeśli żaden z poprzednich warunków nie jest prawdziwy.

To nie jest żadna magia

Warunku, który jest używany w instrukcji warunkowej ( temperatura < 10 ) można używać w innych przypadkach. To jest tylko konstrukcja, która zwraca True albo False co oznacza, że warunek jest prawdziwy czy fałszywy.

Na przykład można używać warunek jako wartość zmiennej. Wiadomo, że zmienna nie będzie przechowywała całego warunku, lecz tylko jego wynik.

pogoda = 'deszczowa'

czy_pogoda_jest_sloneczna = (pogoda == 'słoneczna')

print(czy_pogoda_jest_sloneczna) # Wyświetli False

Operatory logiczne

Operatory logiczne and i or.

Służą one to scalania kilku warunków w jeden.

and – zwraca True tylko wtedy, gdy wszystkie warunki są prawdziwe. Jeśli któryś z warunków nie zostanie spełniony operator zwróci False.

Warunek 1Warunek 2Wynik
TrueTrueTrue
FalseTrueFalse
True FalseFalse
FalseFalseFalse

or – zwraca True, gdy jeden z warunków jest prawdziwy lub wszystkie.

Warunek 1Warunek 2Wynik
TrueTrueTrue
FalseTrueTrue
True FalseTrue
FalseFalseFalse

Jak i w poprzednim przykładzie można ich interpretować z języka polskiego jako:

jeśli temperatura jest większa od 20 stopni i nie pada deszcz, to załóż spodenki i koszulkę.

W języku Python to by wyglądało następująco:

if temepratura > 20 and pogoda != 'deszc':
	print('Super pogoda. Załóż spodenki i koszulkę')

albo

jeśli temperatura jest mniejsza od 10 stopni lub pada deszcz to załóż kurtkę.

if temepratura < 10 or pogoda == 'deszcz':
	print('Lepiej załóż kurtkę')

Nawiasy jako klucz do elastyczności warunków

Co jeśli trzeba sprawdzić więcej wartości i rozbudować instrukcję warunkową ? Jak najbardziej można zrobić to w Pythonie.

Już wiesz, że do łączenia warunków istnieją operatory logiczne.

Jednak do ustalenia priorytetu warunków służą nawiasy.

Tak samo jak w matematyce.

   3 - (2 + 2) = -1

   3 - 2 + 2 = 3

Oto przykład:

if temperatura > 20 and (pogoda == 'słońce' or pogoda == 'pochmurna'):
	print('Załóż spodnie i koszulkę')

W pierwszej kolejności zostanie wykonany warunek:

pogoda == 'słońce' or pogoda == 'pochmurna'

Następnie warunek temperatura > 20 zostanie połączony operatorem logicznym z wynikiem poprzedniego warunku.

Podsumowanie

Podsumowując, omówiliśmy podstawy instrukcji warunkowych w Pythonie, włączając w to bloki if, elif i else, operatory logiczne and i or, oraz elastyczność warunków za pomocą nawiasów. Te elementy pozwalają programiście kontrolować przepływ programu w zależności od spełnienia określonych warunków, co stanowi kluczowy aspekt programowania w Pythonie.