10 Mitmeharuline tingimuslause elif abil

Eespool juba vaatlesime olukordi, kus tingimuslause harudes oli omakorda tingimuslauseid. Siin vaatame, kuidas vahel saab selliseid olukordi lühemalt kirja panna.

Vaatame sellist näidet, kus programmile öeldakse punktisumma ja programm teatab, mis hinde see summa annab.

Ülikoolis pannakse tihti hindeid järgmise skeemi järgi:

Tulemus (%) Hinne
>90 .. 100 A
>80 .. 90 B
>70 .. 80 C
>60 .. 70 D
>50 .. 60 E
<=50 F

Programm, mis saab sisendiks punktid ja kontrollib, kas selle eest saab hinde “A”, oleks järgnev:

punktid = int(input("Sisesta punktide arv"))
 
if punktid > 90:
    print("Hinne A")
else:
    print("Ei ole hinne A")

Lisame nüüd kontrolli ka hindele “B”:

punktid = int(input("Sisesta punktide arv"))
 
if punktid > 90:
    print("Hinne A")
else:
    if punktid > 80:
        print("Hinne B")
    else:
        print("Hinne ei ole A ega B")

Kuna hinnetele vastavaid vahemikke on palju, siis kipub programm jooksma treppides liiga paremale. Mugavamaks programmeerimiseks võib kasutada elif-osa, mis on nii kirjapildi kui ka tähenduse poolest kombinatsioon else-ist ja talle järgnevast if-ist.

Näiteks eelnev programmilõik oleks elif-i kasutades selline:

punktid = int(input("Sisesta punktide arv"))
 
if punktid > 90:
    print("Hinne A")
elif punktid > 80:
    print("Hinne B")
else:
    print("Hinne ei ole A ega B")

Programmi plokkskeem oleks selline:

Joonis 1. Hindamise programmi plokkskeem

Proovi lisada programmile ka teiste hinnete väljastamine.

Enesekontroll (1 ülesanne)

Litsents

Icon for the Creative Commons Attribution 4.0 International License

Programmeerimine on loodud Eno Tõnisson, Tauno Palts, Merilin Säde, Kaarel Tõnisson jt poolt Creative Commons Attribution 4.0 International License litsentsi alusel, kui pole teisiti märgitud.

Jaga seda raamatut