Python - If/else izjave


Što su if...else izjava u Python-u?

Odlučivanje je potrebno kada želimo izvršiti kod samo ako je zadovoljen određeni uslov. Izraz if...elif...else koristi se u Python-u za donošenje odluka.


Sintaksa Python if izjave

if test expression:
    statement(s)

Ovdje program procjenjuje testni izraz i izvršiće izjave samo ako je testni izraz tačan (True). Ako je testni izraz netačan (False), izraz (i) se ne izvršava. U Python-u je tijelo if izjave označeno uvlačenjem. Tijelo započinje uvlačenjem, a prva nerazdvojena linija označava kraj. Python interpretuje vrijednosti koje nisu nula kao True. None i 0 se tumače kao False.



Python if dijagram blokade izjava





Primjer: Python if izjava

# Ako je broj pozitivan, ispisujemo odgovarajuću poruku

num = 3
if num > 0:
    print(num, "je pozitivan broj.")
print("Ovo će se uvijek ispisati")

num = -1
if num > 0:
    print(num, "je pozitivan broj.")
print("Ovo će se takođe uvijek ispisati.")

U gornjem primjeru, num > 0 je test izraz. Tijelo if se izvršava samo ako se ovo procijeni na True. Kad je varijabla num jednaka 3, test izraz je true i izvršavaju se izrazi unutar tijela if. Ako je varijabla num jednaka -1, test izraz je netačan i izrazi unutar tijela if se preskaču. Izraz print() nalazi se izvan bloka if (ne uvučen). Zbog toga se izvodi bez obzira na testni izraz.



Python if...else izjava


Sintaksa if...else izjave

if test expression:
   Tijelo od if
else:
    Tijelo od else

Izraz if..else procjenjuje test izraz i izvršava tijelo if samo kada je testni uslov true. Ako je uslov false, izvršava se i tijelo drugog. Uvlačenje se koristi za odvajanje blokova.



Python if..else dijagram toka




Primjer if...else

# Program provjerava da li je broj pozitivan ili negativan
# I prikazuje odgovarajuću poruku

num = 3

# Isprobajte i ove dvije varijacije.
# num = -5
# num = 0

if num >= 0:
    print("Pozitivan ili nula")
else:
    print("Negativan broj")

U gornjem primjeru, kada je broj jednak 3, testni izraz je true i tijelo if je izvršeno, a tijelo ostatka preskočeno. Ako je broj jednak -5, testni izraz je false, a ostatak tijelo se izvršava, a tijelo if je preskočeno. Ako je broj jednak 0, testni izraz je true i tijelo if je izvršeno, a ostatak tijelo je preskočen.



Python if...elif...else izjava


Sintaksa if...elif...else

if test expression:
    Tijelo od if
elif test expression:
    Tijelo od elif
else: 
    Tijelo od else

Elif je kratica za else...if. Omogućuje nam provjeru više izraza. Ako je uslov za if false, provjerava stanje sljedećeg elif bloka i tako dalje. Ako su svi uslovi netačni (false), izvršava se tijelo else. Samo jedan blok među nekoliko if...elif...else blokova izvršava se prema uslovima. Blok if može imati samo jedan drugi blok, ali može imati više blokova elifa.



Dijagram toka if...elif...else





Primjer if...elif...else

'''U ovom programu,
provjeravamo da li je broj pozitivan ili
negativan ili nula i
prikzujemo odgovarajuću poruku'''

num = 3.4

# Isprobajte i ove dvije varijacije:
# num = 0
# num = -4.5

if num > 0:
    print("Pozitivan broj")
elif num == 0:
    print("Nula")
else:
    print("Negativan broj")

Isprobajte i ove dvije varijacije: Kada je varijabla num pozitivna, ispisuje se pozitivan broj. Ako je broj jednak 0, ispisuje se nula. Ako je num negativan, ispisuje se negativni broj



Python ugnježdeni if izrazi

Možemo imati izjavu if...elif...else unutar druge if...elif...else izjavu. To se naziva ugnježdenje u računarskom programiranju. Bilo koji broj ovih izjava može se ugnjezditi jedna u drugi. Uvlačenje je jedini način da se utvrdi nivo gnježdenja. Mogu postati zbunjujući, pa ih se mora izbjegavati ako nije potrebno.



Python ugnježdeni if uslov u praksi


'''U ovom programu unosimo broj koji treba
provjeriti da li je broj pozitivan ili
negativan ili nula i prikazati
odgovarajuću poruku
Ovaj put koristimo ugnježđenu if izjavu'''

num = float(input("Upišite broj: "))
if num >= 0:
    if num == 0:
        print("Zero")
    else:
        print("Pozitivan broj")
else:
    print("Negativan broj")