Teise nädala kontrollülesanded
Enne 2. praktikumi tuleb esitada kolme kohustusliku ülesande lahendused. Lahendused tuleb esitada lahendus.ut.ee, kus need kontrollitakse automaatselt.
Eks seda tuleb ette ka edaspidi, et programm teeb põhimõtteliselt nõutud asja, aga väljastab midagi rohkem või vähem või kuidagi teisiti ei vasta täpselt ülesandele. (Näiteks on lahendus hoopis vingem kui ülesandes nõutud.) Sellisel juhul võib automaatkontroll teie lahenduse valeks lugeda.
Üldiselt on kõigil tõsiseltvõetavatel veebilehtedel, kus kasutaja saab end süsteemi sisse logida, parooli seadistamisel omad tingimused, mis peavad olema täidetud. Kõige tavalisemaks tingimuseks on minimaalne tähemärkide arv, millest parool koosneb. Tähemärkide arvu kontrollimiseks on võimalik koostada lihtne programm - sarnane sellele, mida veebilehed ka kasutavad!
Koostada programm, mis
- küsib kasutajalt parooli (sõne);
- väljastab kasutajale
"Parool sobib."
, kui parooli pikkus on vähemalt 8 tähemärki, vastasel juhul väljastab"Parool ei sobi."
.
Näited programmi tööst:
>>> %Run lahendus.py
Sisesta parool: pikkparool
Parool sobib.
>>> %Run lahendus.py
Sisesta parool: lühike
Parool ei sobi.
Vihje: Sõne pikkuse leidmisel on abiks funktsioon len
, nt muutuja parool korral pikkus = len(parool)
.
Kui olete juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saate abi murelahendajalt
. Püütud on tüüpilisemaid probleemseid kohti selgitada ja anda vihjeid.
Inimese nimede osas on erinevatel maadel erinevaid kombeid ja vähemalt naabrite puhul oleks hea neid teada (areneva Balti koostöö mõttes).
Traditsiooniliselt näitab leedu naiste perekonnanimedes nime lõpp perekonnaseisu. Näiteks on Adamkienė abielus ja Adamkutė mitte. Alates 2003. aastast on lubatud ka lühem vorm, mis perekonnaseisu ei näita, nt Adamkė. Huvi korral uuri lähemalt siit.
Koostada programm, mis küsib kasutajalt Leedu perekonnanime ja väljastab ekraanile
- Abielus, kui nimi lõpeb tähtedega "ne",
- Vallaline, kui nimi lõpeb tähtedega "te",
- Määramata, kui nimi lõpeb tähega "e" (aga mitte "ne" ja "te"),
- Pole ilmselt leedulanna perekonnanimi, kui nimi ei lõpe tähega "e".
Lihtsuse mõttes kasutame tavalist tähte "e", jätame punkti peale panemata.
Sõne nimi
kahe viimase tähe kontrollimiseks saab kasutada näiteks võrdlemist nimi[-2:] == "ne"
.
Viimase tähe kontrollimiseks sobib nimi[-1] == "e"
.
Näited programmi tööst:
>>> %Run lahendus.py
Sisestage Leedu perekonnanimi: Adamkiene
Abielus
>>> %Run lahendus.py
Sisestage Leedu perekonnanimi: Adamke
Määramata
Kui olete juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saate abi murelahendajalt
. Püütud on tüüpilisemaid probleemseid kohti selgitada ja anda vihjeid.
Jan soovib sõita oma uue elektriautoga Tallinnast Tartusse. Autosse istudes näeb ta armatuuril arvu, mis näitab, mitu kilomeetrit tal veel järgmise laadimiseni sõita on. Jani huvitab, kas tal on võimalik näidatud arvu alusel Tallinnast muretult Tartusse sõita. Koostame ta aitamiseks programmi. Teame akude kohta seda, et külma ilma puhul võib aku kestvus osutuda oodatust lühemaks ja ilm on pahatihti meteoroloogiavõhikute jaoks üsna juhuslik nähtus, mistõttu peame selle juhuslikkuse aku kestvusesse sisse arvestama.
Koostada programm, mis
- küsib kasutajalt läbitava vahemaa (täisarv);
- leiab juhusliku täisarvu vahemikus 0 kuni 1. 0 tähistab siinkohal, et väljas ei ole külm. 1 tähistab siinkohal, et väljas on külm. Juhul kui väljas on külm, on tegelik näit 80% esialgsest arvust, ehk sisestatud kaugusest tuleb arvestada ainult 80%. Uuest väljaarvutatud kaugusest tuleb kasutajale märku anda.
- saadud kauguse alusel väljastab ühe alljärgnevatest vastustest:
- kui arv on suurem või võrdne 186-ga, siis väljastada
"Jõuame kenasti Tartusse."
; - kui arv on väiksem kui 186 aga suurem või võrdne 120-ga, siis väljastada
"Mäo ristis võiks peatuse teha ja pisut laadida."
; - kui arv on väiksem kui 120, siis väljastada
"Võiksime laadida enne sõitma hakkamist."
.
- kui arv on suurem või võrdne 186-ga, siis väljastada
Näited programmi tööst:
>>> %Run lahendus.py
Sisesta, mitu kilomeetrit aku järgi veel sõita saab: 186
Jõuame kenasti Tartusse.
>>> %Run lahendus.py
Sisesta, mitu kilomeetrit aku järgi veel sõita saab: 186
Väljas on külm, tegelikult saab veel 148.8 km sõita.
Mäo ristis võiks peatuse teha ja pisut laadida.
>>> %Run lahendus.py
Sisesta, mitu kilomeetrit aku järgi veel sõita saab: 113
Võiksime laadida enne sõitma hakkamist.
Kui olete juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saate abi murelahendajalt. Püütud on tüüpilisemaid probleemseid kohti selgitada ja anda vihjeid.