8. kodutöö
1. Reisi valimine
Kõik reisibüroost valitavad reisid on failis reisid.txt järgneval kujul, kus semikooloniga on eraldatud reisi nimetus ning hind eurodes. Üks faili reisid.txt võimalik sisu oleks:
Helsingi päevakruiis;29 matk Tokyo mägedes;700 romantiline nädalalõpp Pärnus;150 Praha pubiralli;400
Esmalt koosta funktsioon loetleReisid, mis võtab argumendiks failinime ning maksimaalse eelarve. Funktsioon peab antud failist välja valima reisid, mille maksumus mahub eelarvesse, ning koostama neist järjendi. Funktsiooni töö lõpus tuleb see järjend tagastada. Faili ridade sisselugemiseks võiks harjutamise mõttes kasutada funktsiooni readlines.
Funktsioon loetleReisid peab ülaloleva näitefaili reisid.txt puhul käituma järgmiselt:
>>> loetleReisid('reisid.txt', 200) ['Helsingi päevakruiis', 'romantiline nädalalõpp Pärnus']
Seejärel küsib programm kasutajalt talle sobilikku eelarvet ning leiab koostatud funktsiooni abil talle sobivad reisid failist reisid.txt. Ekraanile kuvada kõik reisid, mis eelarvesse mahtusid.
Näide programmi tööst:
Sisesta sobiv reisi eelarve: 200 Sobivad reisid on: Helsingi päevakruiis romantiline nädalalõpp Pärnus
2. Bingo!
Koosta argumentideta funktsioon bingo, mis genereerib bingonumbreid. Funktsioon peab järjendina tagastama 5 arvu, millest 3 on vahemikus 1 kuni 10 ning ülejäänud 2 on vahemikus 11 kuni 20.
Funktsioon ei tohi lubada sellist olukorda, kus järjendisse jääksid korraga 1, 2 ja 3. Sellisel juhul tuleb genereerida uued arvud.
Vihje. Kattumatute juhuslike arvude genereerimiseks saab kasutada funktsiooni sample teegist random (ettevaatust: funktsioonis range on vahemiku lõpp välja arvatud!):
>>> from random import sample >>> sample(range(1, 5), 2) [4, 1]
Näide funktsiooni tööst:
>>> bingo() [8, 3, 5, 16, 11]
3. Müügihindade arvutamine
Kirjuta funktsioon arvutaHinnad, mis võtab argumendiks ujukomaarvudena esitatud hindade järjendi ning ujukomaarvuna esitatud juurdehindlusprotsendi.
Funktsioon peab tagastama uue järjendi, mis koosneb sisendiks antud hindadest, millele on lisatud juurdehindlus ning 20% käibemaksu.
Näide funktsiooni tööst:
>>> arvutaHinnad([100.0, 1200.0], 10.0) [132.0, 1584.0]
4. Projektiteema valimine
Tutvu projekti nõuete ja soovitustega järgneval lehel. Leia endale rühmakaaslane ja esita koos rühmakaaslasega Moodle'i kaudu oma idee.
Projekti juhend: https://courses.cs.ut.ee/2018/programmeerimine/fall/Main/Projekt