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.
Automaatkontroll. Programm peab küsima kasutajalt täpselt kahte arvu ja kirjutama tulemuse ekraanile.
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
Sõnesid saab ühendada tehtega +.
Edasiarendus
Praegu on aktsepteeritav, kui programm jätab täpitähed muutmata (nt kui kasutaja sisestab eesnimeks „ÜLLE“ ja programm muudab selle sõnaks „Ülle“). Aga kui see ülesanne oli sinu jaoks liiga lihtne, siis proovi kirjutada programmist ka selline variant, mis muudab täpitähed vastavateks täppideta tähtedeks, 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