V tem članku se boste naučili ustvarjati odločitve v programu Python z različnimi oblikami stavka if … else.
Video: Izjava Python, če … drugače
Kaj je izjava if … else v Pythonu?
Odločanje je potrebno, kadar želimo izvršiti kodo le, če je izpolnjen določen pogoj.
if… elif… else
Izjava se uporablja v Pythonu za odločanje.
Python if Sintaksa izjave
if testni izraz: izjava (-e)
Tu program oceni test expression
stavke in bo izvedel stavke, le če je testni izraz True
.
Če je testni izraz False
, se stavki ne izvršijo.
V Pythonu je telo if
stavka označeno z zamikom. Telo se začne z vdolbino, prva nenavedena črta pa označuje konec.
Python vrednosti, ki niso nič, razlaga kot True
. None
in 0
se razlagajo kot False
.
Python if Diagram poteka
![](https://cdn.wiki-base.com/8779798/python_if-_ifelse-_ifelifelse_and_nested_if_statement.jpg.webp)
Primer: izjava Python if
# If the number is positive, we print an appropriate message num = 3 if num> 0: print(num, "is a positive number.") print("This is always printed.") num = -1 if num> 0: print(num, "is a positive number.") print("This is also always printed.")
Ko zaženete program, bo rezultat:
3 je pozitivno število. To je vedno natisnjeno. To je tudi vedno natisnjeno.
V zgornjem primeru num> 0
je testni izraz.
Telo if
se izvede samo, če to oceni na True
.
Ko je spremenljivka num enaka 3, je testni izraz true in if
se izvršijo stavki znotraj telesa .
Če je spremenljivka num enaka -1, je testni izraz napačen in stavki znotraj telesa if
preskočeni.
print()
Izjava ne sodi na if
bloku (nezobčane). Zato se izvede ne glede na testni izraz.
Izjava Python, če … drugače
Sintaksa if … else
if testni izraz: Body of if else: Body of else
if… else
Izjavo ocenjuje test expression
in bo izvršitev telo if
samo, če je test pogoj True
.
Če je pogoj False
, se telo else
izvršuje. Zamik se uporablja za ločevanje blokov.
Python, če … drugače Diagram poteka
![](https://cdn.wiki-base.com/8779798/python_if-_ifelse-_ifelifelse_and_nested_if_statement_2.jpg.webp)
Primer če … drugače
# Program checks if the number is positive or negative # And displays an appropriate message num = 3 # Try these two variations as well. # num = -5 # num = 0 if num>= 0: print("Positive or Zero") else: print("Negative number")
Izhod
Pozitivno ali nič
V zgornjem primeru, ko je num enako 3, je testni izraz resničen in telo if
izvedemo, body
drugo pa preskočimo.
Če je številka enaka -5, je testni izraz neveljaven in telo telesa else
se izvede in telo if
preskoči.
Če je številka enaka 0, je testni izraz true in body of if
se izvrši in body
else preskoči.
Izjava Python if … elif … else
Sintaksa if … elif … else
if testni izraz: Telo if elif testnega izraza: Body of elif else: Telo else
Okrajšava elif
je za else if. Omogoča nam preverjanje več izrazov.
Če je pogoj za if
IS False
, da preveri stanje naslednjega elif
bloka in tako naprej.
Če so izpolnjeni vsi pogoji False
, se izvrši telo else.
Iz if… elif… else
pogojev se izvede le en blok med več bloki.
if
Blok ima lahko samo en else
blok. Lahko pa ima več elif
blokov.
Diagram poteka za if … elif … else
![](https://cdn.wiki-base.com/8779798/python_if-_ifelse-_ifelifelse_and_nested_if_statement_3.jpg.webp)
Primer if … elif … else
'''In this program, we check if the number is positive or negative or zero and display an appropriate message''' num = 3.4 # Try these two variations as well: # num = 0 # num = -4.5 if num> 0: print("Positive number") elif num == 0: print("Zero") else: print("Negative number")
Če je spremenljivka num pozitivna, se natisne pozitivna številka.
Če je število enako 0, se natisne nič.
Če je številka negativna, se natisne negativna številka.
Python ugnezdeni stavki if
if… elif… else
Izjavo lahko imamo znotraj druge if… elif… else
izjave. To se v računalniškem programiranju imenuje gnezdenje.
Katero koli število teh stavkov je mogoče ugnezditi drug v drugega. Zamik je edini način, da ugotovimo stopnjo gnezdenja. Lahko postanejo zmedeni, zato se jim je treba izogibati, razen če je to potrebno.
Python ugnezden, če je primer
'''In this program, we input a number check if the number is positive or negative or zero and display an appropriate message This time we use nested if statement''' num = float(input("Enter a number: ")) if num>= 0: if num == 0: print("Zero") else: print("Positive number") else: print("Negative number")
Izhod 1
Vnesite številko: 5 Pozitivna številka
Rezultat 2
Vnesite številko: -1 Negativna številka
Rezultat 3
Vnesite številko: 0 Zero