Programmēšana • 4. nodarbība

Vairāku izvēļu zarojumi Python valodā

Uzzini, kā ar if, elif un else pārbaudīt vairākus nosacījumus un izvēlēties vienu atbilstošu darbību.

01 • Ideja

Kad vajadzīgi vairāki nosacījumi?

Iepriekšējā nodarbībā izmantojām if, lai pārbaudītu vienu nosacījumu. Ja jāizvēlas starp vairākām iespējām, nosacījumus var pārbaudīt pēc kārtas ar if un elif, bet else atstāt gadījumam, kad neviens nosacījums nav patiess.

Ikdienas piemērs

Ja līst, paņem lietussargu. Citādi, ja ir stiprs vējš, uzvelc vējjaku. Citādi dodies ārā bez lietussarga.

Galvenā doma: Python pārbauda nosacījumus no augšas uz leju un izpilda tikai pirmā patiesā nosacījuma bloku.
02 • Konstrukcija

if...elif...else sintakse

if nosacijums_1:
    # izpildās, ja pirmais nosacījums ir patiess
elif nosacijums_2:
    # izpildās, ja pirmais ir aplams, bet otrais patiess
else:
    # izpildās, ja neviens nosacījums nav patiess

if

Pārbauda pirmo nosacījumu. Konstrukcija sākas ar if.

elif

Nozīmē “citādi, ja”. Var pievienot vienu vai vairākus elif zarus.

else

Apstrādā visus pārējos gadījumus. Tam nav nosacījuma, un tas atrodas beigās.

Atkāpes un kols

Pēc if, elif nosacījuma un else raksta kolu. Katra zara darbības raksta ar vienādu atkāpi.

Atceries! Tiklīdz viens zars izpildās, pārējie tiek izlaisti. Ja vairāki nosacījumi būtu patiesi, nostrādātu tikai pirmais.
03 • Piemēri

Vērtības pārbaude un izvēle

Atzīmes novērtēšana

Atkarībā no punktu skaita programma izvēlas vienu paziņojumu.

punkti = 8

if punkti >= 9:
    print("Izcili!")
elif punkti >= 7:
    print("Labi!")
elif punkti >= 5:
    print("Vēl jāpavingrinās.")
else:
    print("Pamēģini vēlreiz!")
Labi!

Punkti ir 8. Pirmais nosacījums nav patiess, bet otrais ir, tāpēc pārējos zarus vairs nepārbauda.

Skaitļa zīme

Ar trim zariem var aprakstīt pozitīvu, negatīvu skaitli un nulli.

skaitlis = 0

if skaitlis > 0:
    print("Pozitīvs")
elif skaitlis < 0:
    print("Negatīvs")
else:
    print("Nulle")
Nulle
Nosacījumu secība ir svarīga. Ja vispirms pārbaudītu tikai punkti >= 5, arī lielāki rezultāti iekļūtu šajā zarā. Tāpēc vispirms liec stingrākos nosacījumus.
04 • Praktizē

Praktiskie uzdevumi

1. Temperatūra

Izveido mainīgo temperatura. Ja tā ir lielāka par 20, izdrukā “Silts”, ja lielāka par 10 — “Vēss”, citādi — “Auksts”.

2. Skaitļa dalāmība

Pārbaudi mainīgo skaitlis: ja tas dalās ar 2 bez atlikuma, izdrukā “Pāra skaitlis”, citādi — “Nepāra skaitlis”. Izmanto operatoru %.

3. Dienas sveiciens

Mainīgajā diena glabā nedēļas dienas nosaukumu. Ar if un elif atpazīsti vismaz trīs dienas, bet ar else izdrukā paziņojumu par citu dienu.

4. Paša izvēle

Izdomā situāciju ar vismaz trim iespējām un uzraksti programmu, kas izmanto if, vismaz vienu elif un else.

Komentāru atgādinājums: Sarežģītākam zarojumam pievieno komentāru, kas paskaidro izvēlēto nosacījumu secību.

Ko esi apguvis?

  • if pārbauda pirmo nosacījumu, elif — nākamos.
  • else izpildās, ja neviens iepriekšējais nosacījums nav patiess.
  • Nosacījumus pārbauda secīgi, un izpilda tikai vienu zaru.
  • Pēc nosacījumiem liek kolu, bet zaru darbības raksta ar atkāpi.
  • Nosacījumu secība var mainīt programmas rezultātu.

Pašpārbaudes tests

Pārbaudi savas zināšanas par zarojumiem Python valodā!