Uvjetne 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 pozornost na dvotočku : i udubljenje .

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 ili jednako: a >= b

Kôd koji slijedi if naredba se izvršava samo ako uvjet ima vrijednost 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.

To se označava s operatorom manje od <.

Budući da je niz 'Pozdrav' manji od 6 znakova, tada stanje procjenjuje na pravi i stoga vidimo ispisnu izjavu.

Python If ... Else Statement

Ako je rezultat ocjene laž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 s istim gornjim primjerom, ako smo željeli obavijestiti korisnika da je njegova lozinka zadovoljavala potrebnu duljinu, 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 uvjet procjenjuje na false. Jer imamo else blok, a zatim drugi print() izjava se izvršava.

Višestruki ako ... inače s Elif

Kada program treba obraditi više od dva slučaja, trebamo upotrijebiti 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 duljine
  • Izoscelni trokut ima dvije stranice iste duljine
  • 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, sjetite se : i udubljenja.

Ne postoji ograničenje broja elif koje možemo koristiti. Mora postojati 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 (stenografija ako ... ostalo)

Ako imamo if...else blok, možemo koristiti ternarni operator i zapisati if...else blok u jednom retku.

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 izjave kontroliraju tijek programa.
  • Izraz if u programiranju koristi se za donošenje odluka.
  • Izjava if procjenjuje se na temelju navedenih uvjeta.
  • Blok else može se pridružiti 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 uvjeta.