Harjutused
NB! Selle praktikumi juures tuleb arvestada, et isegi kui sa lugesid õpiku esimese peatüki läbi, ei pruugi sa teada, kuidas allolevaid ülesandeid lahendada. Ära heida meelt! See nädal ongi mõeldud lihtsalt kõikide nuppude näppimiseks ja katsetamiseks, õiged vastused pole praegu olulised!
Veel, praksiülesandeid antakse alati varuga, et ka kõige kiirematel/kogenumatel lahendajatel jätkuks tegevust. Seega pole mõtet kurvastada, kui sa kõiki proovidagi ei jõua.
0. Stardiküsitlus
Kui juba pole teinud, siis palun täida Moodle'is üks väike küsitlus!
1. Absoluutväärtus
Uuri õpikus antud näidet Pythoni arvutusoskuse kohta. Proovi selle põhjal kirjutada programm, mis küsib kasutajalt ühe arvu ja väljastab ekraanile selle arvu absoluutväärtuse.
2. Aastaaegade tuvastamine
Keegi üritas kirjutada programmi, mis küsib kasutajalt kuu numbri ja väljastab väikeste tähtedega ekraanile selle aastaaja nime, kuhu see kuu kuulub. Näiteks kui kasutaja sisestab 3
, peaks ekraanile ilmuma kevad
. Programm tuli välja selline:
kuu = int(input("Sisesta kuu number: ") if kuu == 12: print("talv") else: if kuu == 1 or kuu == 2: print(talv) else: if kuu > 3 or kuu < 5: print("kevad" elif kuu < 6 and kuu > "8" ... # ee, ei oska siia midagi kirjutada, pea juba valutab else: pritn("sügis")
Siin kasutatud programmikonstruktsioone vaatame põhjalikumalt lähinädalatel, aga ürita siiski juba praegu see programm tööle saada. Testi oma varianti kõigepealt käsitsi enda arvutis ja siis esita Moodle'isse automaatseks testimiseks.
Vihjed:
- kontrolli, kas programmis on sulud tasakaalus st. kas iga alustava sulu jaoks on lõpetav sulg
- kontrolli, kas kõik käsud on õigesti kirjutatud
- proovi saada aru, millistes kohtades peab olema koolon
- proovi saada aru, millistes kohtades peavad olema jutumärgid
- ≤ asemel kirjutatakse Pythonis
<=
- ≥ asemel kirjutatakse
>=
- võrdumise kontrolliks kasutatakse
==
Lisaülesanne. Selle programmi struktuur on tegelikult kaunis segane. Proovi, kas sul õnnestub sama loogika ilusamini kirja panna. Selleks pead sa oletama või järele uurima, mida tähendavad tühikud ridade ees ja milline roll on Pythoni programmides sõnadel if
, else
, elif
, and
ja or
. Ära unusta uuendatud lahendust testida!
3. Laeva joonistamine
Uuri õppematerjali lõpust kilpkonnagraafika ehk Turtle'i käske: https://courses.cs.ut.ee/2022/programmeerimine/Main/Pohimoisted
Proovi joonistada laeva.
Kui ideid napib, siis proovi joonistada näiteks midagi sellist:
Lisa 1: Võid proovida Pythoni dokumentatsioonist järele uurida, kuidas käib kilpkonnaga joonte või piirkondade värvimine. Kui sealne selgitus jääb segaseks, siis võid guugeldada nt. "python turtle fill color example".
Lisa 2: Soovi korral proovi lahendada laeva ülesande raskemat varianti, kus laeva mõõtmed küsitakse kasutajalt.
4. Minesweeper
Laadi alla ja ava õpikus viidatud Minesweeperi mängu skript. Uuri koodi ja proovi enda jaoks kaardistada, millistest konstruktsioonidest sa arvad end aru saavat ja mida tuleks veel õppida.
Proovi teha mängu mõni muudatus (nt. suurenda või vähenda miinide arvu, vaheta pildifaile vms).
Kui sul hakkab igav ...
... siis uuri juba järgmise nädala asju.
Järgmiseks korraks
- Uuri läbi 2. nädala materjalid
- Lahenda ära 2. nädala koduülesanded. Failide esitamise vormi Moodle'is hetkel veel pole, see ilmub pärast praktikumi.
Kui jääd koduülesannete lahendamisega hätta, siis abiks on kolmapäeval kell 18:15 - 19:45 ruumis 1021 toimuv lisapraktikum.
Kuidas saada enda koduarvutist ligi ülikooli serverisse salvestatud failidele?
Kui sinu praks toimub arvutiklassis ja sa salvestasid oma skriptid enda võrgukettale (või Linuxi puhul kodukataloogi), siis kodust pääsed neile ligi VPN-ühenduse kaudu.