7. praktikumi tööleht
Ülesanne 0:
Täida Moodles küsitlus “Tagasiside pärast kontrolltööd”, kui Sa seda juba teinud ei ole. Küsitlus asub 6. nädala materjalide all.
Ülesanne 1 Isikukoodide info ekstraktor
1. Paariline:
Võta aluseks oma viimase kodutöö kolmas ülesanne, “Sünnipäev isikukoodist”, ning täienda funktsiooni selliselt, et funktsioon väljastaks:
- sünnikuupäeva
- sugu (vt. https://et.wikipedia.org/wiki/Isikukood#Sugu)
- sünnihaigla (vt. https://et.wikipedia.org/wiki/Isikukood#Haigla_tunnus)
Väljasta info mugavalt loetaval kujul (vt. näidet) ja nimeta funktsioon ümber nii, et see kirjeldaks, mida funktsioon saavutab.
Märkus: Alates 2013 a. enam haiglat ei märgita. Sel juhul võib haigla väljastamata jätta.
>>> info_isikukoodist(“39911295661“) Lugesin isikukoodist 39911290186 välja järgmised andmed: Sugu: Mees Sünnikuupäev: 29. november 1999 Sünnihaigla: Rakvere või Tapa haigla
2. Paariline:
Kirjuta uus funktsioon, mis võtab parameetriks isikukoodi sõnena ning väljastab tõeväärtuse True
, kui isikukood on korrektne, või False
, kui isikukood pole korrektne. Kontrollimisel võta aluseks kontrollnumbri kontrollimise algoritm, mis on kirjeldatud Vikipeedias: http://et.wikipedia.org/wiki/Isikukood#Kontrollnumber.
Lisaks kontrollnumbrile võib lisada ka oma soovi järgi erinevaid kontrolle.
>>> on_korrektne_isikukood(“39911295661“) True >>> on_korrektne_isikukood(“39911295668“) False
Grand finale:
Selgitage teineteisele oma koodi ning looge ühine funktsioon, mis võtab parameetriks isikukoodide massiivi ja väljastab kõikide korrektsete isikukoodide info. Mittekorrektse isikukoodi puhul tuleb sellest teada anda. Kasutage eelnevalt loodud funktsioone!
Ülesanne 2 Sõnade pakkumine
Kirjuta programm, mis küsib kasutajalt sõna algust ning väljastab kõik võimalikud sõnad, mis selle algusega moodustada saaks.
Sõnade faili saab lingilt: http://kodu.ut.ee/~talikert/sonad.txt (kodeering UTF-8
)
>>> %Run sõnade_pakkumine.py Sisesta sõnaalgus: progra programm programmdokument programmeerija programmeerima programmeerimine programmeerimiskeel ...
Ülesanne 3 Oma split-meetod
Kirjuta funktsioon nimega oma_split, mis võtab argumendiks sõne ja jagab selle sõne osadeks, võttes poolituskohaks tühiku. Funktsioon peaks tagastama kõik sõne osad järjendina.
NB! Ära kasuta oma funktsioonis meetodit split()
>>> oma_split(“Tere maailm!“) [“Tere“, “maailm!“) >>> oma_split(“Programmeerimine“) [“Programmeerimine“]
Kui jõudsid kõik ülesanded tehtud, vaata praktikumiülesandeid 6, 4 ja 3 (https://courses.cs.ut.ee/2018/programmeerimine/Main/Praks7)