V tej vadnici si oglejte, kako uporabljati if
, else
in elif
izjave v Pythonu.
Ko kodiramo v katerem koli jeziku, so trenutki, ko se moramo odločiti in izvesti neko kodo, ki temelji na izidu odločitve.
V Pythonu uporabljamo if
izjava za oceno stanja.
Sintaksa if
izjava v Pythonu je:
if condition:
statement
Še posebej bodite pozorni na podpičje :
in vdolbina .
Za oceno stanja uporabljamo logične operatorje. Logični operaterji so:
a == b
a != b
a < b
a <= b
a > b
a >= b
Koda, ki sledi if
stavek se izvrši le, če je stanje vrednotenje true
.
Primer if
izjava v Pythonu:
password = 'Hello' if len(password) < 6:
print('password too weak - should be at least 6 characters')
Izhod:
password too weak - should be at least 6 characters
V zgornji kodi ocenjujemo dolžino gesla. Pogoj je, da dolžina ne sme biti manjša od 6 znakov.
To je označeno z operatorjem manj kot <
.
Ker je niz »Pozdravljen« manj kot 6 znakov, potem stanje oceni na prav in zato vidimo tiskano izjavo.
Če je rezultat ocene napačen in želimo ukrepati glede rezultata, nato vključimo else
izjavo.
Sintaksa if...else
izjava izgleda tako:
if condition:
statement_1 else:
statement_2
Če nadaljujemo z istim zgornjim primerom, če želimo uporabnika obvestiti, da je njegovo geslo doseglo zahtevano dolžino, smo to postavili v else
blok.
Primer:
password = 'Mission' if len(password) < 6:
print('password too weak - should be at least 6 characters') else:
print('your password was accepted')
Izhod:
your password was accepted
V tem primeru ima beseda 'Misija' 7 znakov, zato je naš if
stanje oceni na false. Ker imamo else
blok, nato drugi print()
stavek se izvrši.
Kadar mora program obravnavati več kot dva primera, moramo uporabiti več if
in else
bloki. Ključna beseda elif
pomeni drugače, če.
Na primer, imamo program, ki mora na podlagi 3 celoštevilskih vhodov določiti vrsto trikotnika.
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')
Izhod:
This is an equilateral triangle
Ta primer prikazuje, kako ravnati z več kot dvema primeroma. Kot prej, zapomnite si :
in vdolbinami.
Število elif
, ki jih lahko uporabimo, ni omejeno. Samo en mora biti else
izjava, ki služi kot ulov za vse. Če so vsi if
stavki ne uspejo, potem else
stavek se izvrši.
Če imamo if...else
lahko uporabimo ternarni operator in zapišemo if...else
blok v eni vrstici.
Sintaksa je:
condition_if_true if condition else condition_if_false
Primer:
a = 100 b = 200 print('A') if a > b else print('B')
Izhod:
B
if...else
in elif
stavki nadzorujejo pretok programa.