2. kodutöö
1. Pythoni dokumentatsioon
Uuri Pythoni dokumentatsioonist mooduli math kohta käivat infot (http://docs.python.org/3/library/math.html). Otsi välja käskude floor ja ceil tähendus – neid võib edaspidi ülesannete lahendamisel tarvis minna. Vaata üle ka sõnemeetodite dokumentatsioon (http://docs.python.org/3/library/stdtypes.html#string-methods).
Nurksulud Pythoni funktsioonide dokumentatsioonis näitavad, et sellele parameetrile ei pea väljakutsel tingimata väärtust andma, sest tal on olemas vaikeväärtus. Nt kui meetodi kirjeldus on kujul str.center(width[, fillchar]), siis see tähendab, et seda võib kasutada kas ühe argumendiga (nt kliendi_nimi.center(80)) või kahe argumendiga (kliendi_nimi.center(80, '~')).
2. Elektriliin
Sirgjoonelise elektriliini ehitamisel paigutatakse kõrvutiasetsevad postid võrdsete kaugustega, mis ei ületa etteantud maksimaalkaugust. Liin algab ja lõpeb postiga. Kasutajalt küsitakse liini pikkust (täisarvuna meetrites) ja kõrvutiasetsevate postide maksimaalkaugust (täisarvuna meetrites). Ekraanile väljastatakse, mitu posti on liini ehitamiseks minimaalselt vaja.
Testi oma programmi!
- Vali vähemalt üks komplekt andmeid nii, et kõik kõrvutiasetsevad postid oleksid maksimaalkaugusel. (Nt liini pikkus 400 m, maksimaalne postidevaheline kaugus 40 m.)
- Vali vähemalt üks komplekt nii, et kõrvutiasetsevad postid oleksid lähemal kui maksimaalkaugus.
- Vali vähemalt üks komplekt, kus liini pikkus oleks postide maksimaalkaugusest väiksem.
3. Kasutajanime loomine
Koosta programm, mis
- küsib kasutajalt eesnime
- küsib kasutajalt perenime
- väljastab kasutajanime, mis on loodud eesnime ja perenime liitmisel, kus tähed on läbivalt väikesed ja ees- ja perenime eraldajaks on punkt.
Kasutaja võib sisestada nime läbivalt väikeste tähtedega, ainult suurte tähtedega või segamini, kuid programm peab alati väljastama kasutajanime läbivalt väikeste tähtedega.
Näide
>>> %Run nimi.py Sisesta eesnimi: kALle Sisesta perenimi: KalDUR kalle.kaldur >>>
Vihje
>>> "kaSpaR".lower() kaspar
Edasiarendus
Praegu on aktsepteeritav, kui programm ei esita täpitähtedega nimesid ootuspäraselt (nt kui kasutaja sisestas eesnimeks „Säde“, siis on aksepteeritav, kui programm muudab selle „säde“-ks). Aga kui see ülesanne oli sinu jaoks liiga lihtne, siis proovi kirjutada programmist ka selline variant, mis töötaks õigesti nimede puhul, mis sisaldavad täpitähti, st mis muudaks näiteks sõna „pÕÕsas“ sõnaks „poosas“.
4. Masintõlge
Kirjuta programm, mis küsib kasutajalt kaks failinime. Esimene märgib mingit olemasolevat tekstifaili, teine aga mingit uut faili, mida ei tarvitse veel olemas olla.
Programmi ülesanne on võtta esimese faili sisu, asendada seal kõik sõnad „Hello“ sõnadega „Tere“ ja kirjutada tulemus teise faili. Ekraanile väljastada, mitu asendamist tehti.
Näide
Faili inglise.txt sisu:
Hello! Hello Kitty Hello-Hello >>> %Run teisenda.py Lähtefaili nimi: inglise.txt Sihtfaili nimi: eesti.txt Tehti 4 asendamist.
Faili eesti.txt sisu:
Tere! Tere Kitty Tere-Tere
Vihje
>>> 'abcabca'.count('ab') 2