Instrukcja warunkowa IF, zwana inaczej poleceniem IF w Pythonie nie różni się od tych występujących w pozostałych językach. To znaczy różnice występują, choćby w zapisie składni, jednak idea działania instrukcji warunkowej IF jest taka sama.
Składnia polecenia IF w Pythonie
if test_warunkowy:
dowolna akcja
Prosty przykład, gdzie sprawdzamy warunek, czy klient zamówił salami na pizzę. Zmienna zamowioneSkladniki to salami, instrukcja IF sprawdza, poprzez == czy dane zmiennej są równe stringowi salami
zamowioneSkladniki = 'salami'
if zamowioneSkladniki == 'salami':
print("Klient zamówił salami na pizzę")
zamowioneSkladniki = 'Szynka Parmeńska'
if zamowioneSkladniki == 'salami':
print("Klient zamówił salami na pizzę")
elif zamowioneSkladniki !='salami':
print("Klient nie zamówił salami a "+zamowioneSkladniki)
IF sprawdza czy nasz warunek boolowski jest TRUE lub FALSE
Na przykładzie niżej, zastosowaliśmy 3 operatory matematyczne, porównania, mniejszości i większości. Akcja zawarta w instrukcji IF lub else if (ELIF) zostanie wykonana dopiero w tedy, kiedy warunek będzie TRUE, czyli będzie spełniony.
ileMaszLat = 28
if ileMaszLat == 37:
print("zgadłeś! Autor posta ma 37 lat")
elif ileMaszLat < 37:
print("Nie zgadłeś, podany wiek jest zbyt mały")
elif ileMaszLat > 37:
print("Nie, za dużo lat podałeś")
Używamy słowa kluczowego AND i wykorzystujemy łańcuch IF-ELIF-ELSE
Przykład niżej wykorzystuje IF, ELIF (od else if) oraz ELSE (czyli wykonaj jeśli żaden z warunków nie będzie TRUE.
Na początku w zmiennej szukanaLiczba podajemy wartość. Warunki sprawdzają, czy podana wartość jest z przedziałów określonych jako warunki, np szukanaLiczba < 20 AND szukanaLiczba >=10
Przeanalizuj poniższy kod dokładniej:
szukanaLiczba = 8
if szukanaLiczba == 20:
print("Szukana liczba jest równa liczbie 20")
elif szukanaLiczba < 20 and szukanaLiczba >= 10:
print("Twoja liczba jest mniejsza niż 20 i większa lub równa 10")
elif szukanaLiczba < 10 and szukanaLiczba >= 5:
print("Twoja liczba jest mniejsza od 10 i większa lub równa 5")
else:
print("Twoja liczba nie jest większa równa 10 i mniejsza niż 20 oraz nie jest większa lub równa 5 i mniejsza od 10")
Używamy słowa kluczowego OR
Podobnie jak w przypadku słowa kluczowego and stosujemy słowo or. Przeanalizuj poniższy przykład:
szukanaLiczba = 21
if szukanaLiczba < 20 or szukanaLiczba > 30:
print("Szukana liczba jest mniejsza od 20 lub większa od 30")
else:
print("warunek nie został spełniony.")
Sprawdzamy instrukcję IF na listach
W artykule o listach w Pythonie dowiedzieliśmy się czym są listy i w jaki sposób je tworzyć oraz modyfikować. Wykorzystajmy więc tę wiedzę by szerzej podejść do tematu instrukcji warunkowych IF.
Umówmy się, że jesteśmy administratorem serwisu internetowego i chcemy aby każdy użytkownik miał unikalny nick. Sprawdźmy więc czy podany nick znajduje się na naszej liście:
userNick = ['zosia','staszek','lucek','marian','zbyszek','halina']
sprawdzNick = 'marian'
if sprawdzNick not in userNick:
print("Podałeś nick "+sprawdzNick+". Możesz się zarejestrować")
elif sprawdzNick in userNick:
print("Nick ***"+sprawdzNick+"*** znajduje się w naszej bazie. \nWybierz inny!")
Zastosowanie break w instrukcji IF
Napiszmy program, sprawdzający, czy na liście loginów w naszym serwisie internetowym znajduje się ten, który wpisał użytkownik – tutaj w zmiennej twojLogin:
users = ['admin','bot','operator','alek','maja']
twojLogin = 'bot'
if twojLogin in users:
print(f"Witaj {twojLogin}")
else:
print(f"Nie ma użytkownika o loginie {twojLogin}")