Uslovne izjave Pythona - If, Else i Elif

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.




Izjava Python If

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:

  • Jednako: a == b
  • Nije jednako: a != b
  • Manje od: a < b
  • Manje ili jednako: a <= b
  • Veće od: a > b
  • Veće od ili jednako: 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.



Python If ... Else Statement

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.



Višestruki ako ... još s Elif

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.

  • Skalirajući trokut je onaj gdje sve tri stranice imaju različite dužine
  • Izoscelni trokut ima dvije stranice iste dužine
  • Jednakostranični trokut je onaj gdje su sve stranice jednake
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.



Python ternarni operater (skraćeno ako ... drugo)

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

Zaključak

  • The if...else i elif naredbe kontroliraju tijek programa.
  • Izraz if u programiranju koristi se za donošenje odluka.
  • Izjava if se procjenjuje na osnovu specificiranih uvjeta.
  • Blok else se može priložiti sa naredbom if i izvršava se ako je uvjet netačan.
  • Blok else ne može postojati s izrazom if.
  • Izjave (elif) mogu se priložiti uz iskaz if ako postoji više uslova.