U ovom uputstvu ćemo pogledati kako koristiti if
, else
i elif
izjave u Pythonu.
Kada kodiramo na bilo kojem jeziku, postoje trenuci kada moramo donijeti odluku i izvršiti neki kôd na temelju ishoda odluke.
U Pythonu koristimo if
izjava za procjenu stanja.
Sintaksa if
izjava u Pythonu je:
if condition:
statement
Obratite posebnu pažnju na dvotačku :
i uvlačenje .
Za procjenu stanja koristimo logičke operatore. Logični operatori su:
a == b
a != b
a < b
a <= b
a > b
a >= b
Kôd koji slijedi if
izraz se izvršava samo ako je uvjet izračunat na true
.
Primjer if
izjava u Pythonu:
password = 'Hello' if len(password) < 6:
print('password too weak - should be at least 6 characters')
Izlaz:
password too weak - should be at least 6 characters
U gornjem kodu procjenjujemo duljinu lozinke. Uvjet je da dužina ne smije biti manja od 6 znakova.
Ovo se označava s operatorom manje od <
.
Budući da je niz 'Zdravo' manji od 6 znakova, tada se stanje procjenjuje na tačno i stoga vidimo ispis.
Ako je rezultat evaluacije netačan i želimo djelovati na rezultat, a zatim uključujemo else
izjava.
Sintaksa if...else
Izjava izgleda ovako:
if condition:
statement_1 else:
statement_2
Dakle, nastavljajući sa istim gornjim primjerom, ako smo željeli obavijestiti korisnika da je njegova lozinka zadovoljavala potrebnu dužinu, stavili smo je u else
blok.
Primjer:
password = 'Mission' if len(password) < 6:
print('password too weak - should be at least 6 characters') else:
print('your password was accepted')
Izlaz:
your password was accepted
U ovom slučaju, riječ „Misija“ ima 7 znakova pa je naš if
stanje procjenjuje na netačno. Jer imamo else
blok, a zatim drugi print()
izjava se izvršava.
Kada program treba obraditi više od dva slučaja, moramo koristiti više if
i else
blokovi. Ključna riječ elif
znači inače ako.
Na primjer, imamo program koji treba odrediti vrstu trokuta na temelju 3 cjelobrojna ulaza.
a = 5 b = 5 c = 5 if a != b and b != c and a != c:
print('This is a scalene triangle') elif a == b and b == c:
print('This is an equilateral triangle') else:
print('This is an isosceles triangle')
Izlaz:
This is an equilateral triangle
Ovaj primjer ilustrira kako se rješava više od dva slučaja. Kao i prije, zapamtite :
i udubljenja.
Ne postoji ograničenje broja elif
koje možemo koristiti. Mora biti samo jedan else
izjava koja služi kao catch-all. Ako su svi if
izjave ne uspiju, tada else
izjava se izvršava.
Ako imamo if...else
blok, možemo koristiti ternarni operator i napisati if...else
blok u jednom redu.
Sintaksa je:
condition_if_true if condition else condition_if_false
Primjer:
a = 100 b = 200 print('A') if a > b else print('B')
Izlaz:
B
if...else
i elif
naredbe kontroliraju tijek programa.