Python: Instrukcje warunkowe i operatory logiczne
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 ?
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 1 | Warunek 2 | Wynik |
| True | True | True |
| False | True | False |
| True | False | False |
| False | False | False |
or – zwraca True, gdy jeden z warunków jest prawdziwy lub wszystkie.
| Warunek 1 | Warunek 2 | Wynik |
| True | True | True |
| False | True | True |
| True | False | True |
| False | False | False |
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.
