Valikud ja laused: if - elif - else, and, or
Elus tuleb teha erinevaid valikuid. Näiteks valida töökoht, elukoht, kool lapsele jne.
Valikuid teeme iga päev: mida hommikul selga panna, mis teedpidi tööle sõita jne.
Photo by Becca McHaffie on Unsplash
Arvutiprogrammid on sageli mõeldud erinevate eluliste probleemide lahendamiseks ja seetõttu tuleb ka programmides päris palju valikuid ette.
Näiteks programm, mis aitab pangaautomaadis valida, kui palju raha välja võtta. Või programm, mis laseb inimestel valida, millisele kontserdile Piletilevi veebilehelt pilet osta, samuti muud erinevate veebipoodide programmid.
Programmeerimisel kasutatakse valikute esitamisel valiklauseid.
IF-ELSE valikute kasutamine programmeerimisel
Loomaaia juhataja vajab programmi, mis aitaks tal valvekaamera pildi kiiresti valitud loomale suunata, et teda jälgida. Kaamera 1 näitab konna, kaamera 2 põtra ja kaamera 3 elektriraid.
Üks võimalikest skeemidest, kuidas kaamera pilti suunata:
Programmeerimiseks kirja pandult võiks see olla siis midagi sellist:
JUHUL KUI kaamera1 : Konna Lonni
MUUL JUHUL, KUI kaamera2 : Põder Priidik
KÕIGIL MUUDEL JUHTUDEL : Elektrirai
Ja inglise keeles:
IF kaamera1 : Konna Lonni
ELIF kaamera2 : Põder Priidik
ELSE : Elektri Rai
-----------------------
Ülesanded
1. Loomaaia juhataja vajab programmi, mis aitaks tal valvekaamera pildi kiiresti valitud loomale suunata, et teda jälgida. Loo programm, mis küsib juhatajalt, mis looma ta soovib vaadata.
Kui juhataja vastab:
"Konna Lonni", siis kaamera 1 näitab talle konna (näiteks roheline ovaal)
"Põder Priidik", siis kaamera 2st näeb ta põtra ja
"Elektri Rai" või kaamera 3, siis näeb ta raikala (nt sinine kolmnurk).
LAHENDUS
2. Täienda programmi ja lisa juurde valik "muul juhul" - ehk siis, kui juhataja kirjutas mingi sellise kaamera numbri, mida programmis kirjas ei olnud. Sellisel juhul peaks programm teatama, et "Kaamera puudub!" Katseta, kuidas see töötab.
LAHENDUS
3. Täienda loomaaia programmi nii, et juhatajale näidatakse iga looma juures ka tema nime ja terviseparameetreid.
Näide:
louend.create_text(30, 500, text="Põder Priidik - norskab unes", anchor=NW)LAHENDUS
4. Konnamäng. Loo programm, mis joonistab ekraanile ritta 5 kivi ja ühele neist konna, eelnevalt aga küsib, mitmendale kivile peab konn hüppama. Sa vastad näiteks 1, 2 3, 4 või 5 ja programm joonistab konna sellele kivile.
LAHENDUS
5. Jäta konn ühele kivile istuma ja täienda konnamängu nii, et arvuti küsib sinult, mis värvi konna soovid. Kui vastad "R" või "r", siis joonistab rohelise, kui vastad "K" või "k", siis joonistab kollase konna.
6. Täienda eelmist programmi, lisades ka punase, sinise ja lilla konna valik.
7. Muuda eelmist programmi nii, et sa saad pakutud värvidest (R, K, P, S, L) valida korraga 2 värvi. Joonistatud konn on esialgu üht värvi ja kui hiirega talle peale liigud, siis ta läheb seda teist värvi, mis sa valisid.
8. Muuda eelmist programmi nii, et sa saad pakutud värvidest (K, P, S) valida korraga 1-2 värvi. Konn vastavalt sellele kas vahetab värvi või mitte.
9. Muuda mõni kivi kahevärviliseks.
10. Muuda konnamängu nii, et arvuti küsib sinult, mitu konna ja mitu kivi soovid joonistada (1-3). Ja joonistab siis selle arvu konnasid ja kive.
-----------------------
Teooria ja juhendid
http://programmeerimine.cs.ut.ee/tkinter.html#tahvel-canvas
-----------------------
NUPUTAMIST. Konna programmi edasiarendus
- Täienda programmi nii, et konn hakkab ühelt kivilt teisel hüppama hiirevajutuse peale.
- Täienda programmi nii, et konn hakkab kivile hüppamisel krooksuma ja vettehüppamisel sulpsatusi tegema.
Selleks on soovitav käsitsi joonistatud konna asemel kasutada programmi sisse toodud konnapildi faili:
http://programmeerimine.cs.ut.ee/tkinter.html#pildi-vahetamine
http://programmeerimine.cs.ut.ee/tkinter.html#hiireklopsudele-reageerimine
https://programmeerimine.cs.ut.ee/tkinter.html#animatsioon
Pildifaile tasuta kasutamiseks: https://openclipart.org
Helifaile tasuta kasutamiseks: http://www.freesoundeffects.com/free-sounds/animals-10013/ ja http://soundbible.com/tags-frog.html
Pythoni käsud ja moodulid: https://docs.python.org/3.5/library/index.html
-----------------------
Kodune töö
Tee ära kaks-kolm ülesannet, mida sa tunnis ei jõudnud (näiteks 9-10 + mõni nuputamisülesanne) ja saada e-mailile: katlin7@gmail.com
Kommentaare ei ole:
Postita kommentaar