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 = 28if 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 = 8if 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 = 21if 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}")