Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi informaatika didaktika töörühm
< eelmine | 2. OSA sisukord | järgmine > |
2.1 Muutujad
SISSEJUHATUS
Programmide koostamisel on võimalik kasutada väga erinevaid komponente näiteks muutujaid, valikulauseid, tsükleid, alamprogramme jne. Selles osas vaatame lähemalt muutujaid.
Tinglikult võiks muutujaid võrrelda maitseainete topsidega. Selleks, et maitseaineid lihtsamini üles leida, on kaval moodus topsid vastavalt sildistada. Sildi järgi leitakse vastav maitseaine paremini üles.
Kui köögis on olulisel kohal maitseained, siis programmeerimises on tähtsad andmed. Kui köögis hoitakse maitseaineid topsides, siis programmeerimises hoitakse andmeid mälupiirkondades. Kui köögis pannakse maitseained vastava sildiga topsi, siis programmeerijate maailmas pannakse andmed vastava nimega mälupiirkonda. Sellist nimega mälupiirkonda kutsutaksegi muutujaks. Muutujal on nimi ja muutujale väärtuse andmine käib Pythonis võrdusmärgi abil.
Järgnevalt annamegi ühele muutujale väärtuse.
Anda muutujale mingi väärtus. Mida see tähendab? See tähendab, et muutujale antakse mingid andmed, mida ta peab endas hoidma. Umbes nii, et topsis, mille peale on kirjutatud kaneel, on hoiul kaneel.
Pythonis muutuja nime valimisel on omad reeglid ja tavad nagu ka näiteks tavaelus lapsele nime panemisel. (Reeglid ise on küll lapsele nimepanemise omadest mõnevõrra erinevad.) Pythonis muutujale nime panemisel tuleb silmas pidada, et nimi ei tohi sisaldada tühikuid. Tühiku asemel kasutatakse vajadusel alakriipsu (nt vanima_lapse_vanus
) või jäetakse vahe üldse ära (nt vanimaLapseVanus
). Lisaks on tavaks, et muutuja nimi on kirjutatud väikeste tähtedega (va sõnade algustähed alates teisest).
Soovi korral saab lugeda erinevate vormindamistavade kohta Wikipedia leheküljelt.
Nüüd on teie enda valida, kas loete teksti edasi või vaatate videot, kus samuti sarnase näitega tegeletakse.
https://www.youtube.com/watch?v=Vz8EfZRSMB0
Vaatame nüüd näidet, kus väärtustame erinevaid muutujaid. Anname muutujale poisi_vanus
väärtuseks poisi vanuse 12. Selleks käivitame Thonny ning trükime uude programmiaknasse (File -> New) esimesele reale:
poisi_vanus = 12
Toome mängu vanaema, andes teisel real muutujale vanaema_vanus
väärtuseks 59:
vanaema_vanus = 59
Talletatud infot saame kasutada samade muutujate abil. Võime näiteks leida poisi ja vanaema vanuste summa, trükkides programmi kolmandale reale:
vanuste_summa = poisi_vanus + vanaema_vanus
Ekraanile väljastamiseks tuleks lisada käsk print
.
print(vanuste_summa)
Kokku saime järgneva programmikoodi:
poisi_vanus = 12 vanaema_vanus = 59 vanuste_summa = poisi_vanus + vanaema_vanus print(vanuste_summa)
Programmi käivitades (Run -> Run current script) peaks tulemus olema selline:
Nuputa! Kuidas leida poisi ja vanaema keskmine vanus?
Muutujatega tegutsemisel tuleb meeles pidada, et muutuja peab enne selle kasutamist olema väärtustatud. Proovige käivitada juba varasemalt vaadeldud näidet sellisena:
poisi_vanus = 12 vanuste_summa = poisi_vanus + vanaema_vanus vanaema_vanus = 59 print(vanuste_summa)
Millise teate väljastas Python? Miks selline veateade ilmnes ja kuidas viga parandada saab?
ARVULISTE VÄÄRTUSTE OMISTAMINE MUUTUJALE
Muutujale arvulise väärtuse omistamist juba vaatasime. Käib see siis näiteks nii:
lemmik_arv = 7 print(lemmik_arv)
Lisaks sellele on võimalik arvudega sooritada erinevaid tehteid. Vaadake tähelepanelikult, sest mõned märgid tähendavad teisi asju, kui me harjunud oleme:
- + liitmine
- - lahutamine
- / jagamine
- * korrutamine
- ** astendamine
- % jäägi leidmine
- // täisosa leidmine
- Klõpsake, et näha veelgi kasutatavaid matemaatilisi tehteid Wikipediast
Ülesanne
Lisaks täisarvudele võib muutujale anda väärtuseks ka koma sisaldava arvu. Koma rollis kasutatakse Pythonis punkti (näiteks 3,2 kirjutatakse Pythonis 3.2). Selliseid arve nimetatakse ujukomaarvudeks.
Järgmine näide on ujukomaarvude omistamisest kahele muutujale, nende summa arvutamisest ja ekraanile väljastamiseks:
esimene_arv = 3.2 teine_arv = 10.15 arvude_summa = esimene_arv + teine_arv print(arvude_summa)
Muutuja väärtust saab programmis ka muuta. Proovige järgi, mis tulemus tuleb sellisel juhul:
esimene_arv = 3.2 teine_arv = 10.15 esimene_arv = 5 arvude_summa = esimene_arv + teine_arv print(arvude_summa)
Ülesanne
ARVUDE KÜSIMINE KASUTAJALT KÄSUGA INPUT()
Sageli ei kirjutata andmeid programmi sisse, vaid neid küsitakse kasutajalt käsuga input()
.
Võite kohe edasi lugeda või vaadata hoopis videot, mis ka sama teemat tutvustab.
https://www.youtube.com/watch?v=5hsnPZn0oYo
Näiteks võib programmi kirjutada selliselt, kus liidetavad arvud küsitakse kasutajalt.
print("Sisesta esimene liidetav täisarv: ") esimene_arv = int(input()) print("Sisesta teine liidetav täisarv: ") teine_arv = int(input()) arvude_summa = esimene_arv + teine_arv print(arvude_summa)
Paneme tähele, et sisendi küsimisel tuleb sisend panna käsu int()
sulgude vahele. Seda tuleb teha põhjusel, et Python saaks aru, et kasutaja sisestatut käsitletaks täisarvudena ja neid oleks võimalik hiljem kokku liita. Erinevatest andmetüüpidest räägime juba järgmisel leheküljel!
Kui kasutada programmeerimiskeskkonda Thonny, siis ootab input kasutaja sisestust alumises aknas (Shell).
Kui kasutajalt ei oodata arvu, vaid lihtsalt teksti, mis salvestatakse muutujasse, siis pole int()
käsku vaja.
Näiteks lemmikvärvi küsimine kasutajalt ja otse vastava muutuja väärtustamine näeks välja nii:
print("Mis on sinu lemmikvärv?") lemmik = input() print("Ah, et sinu lemmikvärv on " + lemmik + ". Ilus värv!")
Tegelikult saab kaks esimest rida ka kokku võtta:
lemmik = input("Mis on sinu lemmikvärv?") print("Ah, et sinu lemmikvärv on " + lemmik + ". Ilus värv!")
Proovige nüüd ise!
< eelmine | 2. OSA sisukord | järgmine > |