Neljanda nädala kontrollülesanded
Enne 4. praktikumi tuleb esitada kolme kohustusliku ülesande lahendused. Lahendused tuleb esitada Lahenduses, kus need kontrollitakse automaatselt.
Väikeettevõte on määranud jaanuarikuu igaks päevaks ühe inimese tööle. Töötajad on kirjas tekstifailis töögraafik.txt, kus esimesel real on märgitud töötaja, kes 1. jaanuaril töötab, teisel real on märgitud töötaja, kes 2. jaanuaril töötab, ja nii kuni 31. reani välja.
Koostada programm, mis
- loeb failist töögraafik.txt sisse töötajate nimed ja sisestab need järjendisse;
- küsib kasutajalt täisarvu, mis tähistab mitmenda kuupäeva töötaja nime soovitakse teada (tasub meeles pidada, et järjendis on esimesel kohal element indeksiga 0);
- väljastab töötaja nime, kes nimetatud kuupäeval töötab.
Andmete sisse lugemiseks ja järjendisse lisamiseks saab kasutada koodijuppi:
fail = open("töögraafik.txt", encoding="UTF-8") andmed = [] for rida in fail: andmed.append(rida.strip()) fail.close()
Näide programmi tööst:
>>> %Run lahendus.py
Mitmenda kuupäeva töötaja nime soovid teada: 6
6. kuupäeval töötab Madis
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.
Kontrollülesanne 4.2. Lillede arv (for-tsükliga)
Palindroom on keelend, mis on nii päri- kui ka tagurpidi lugedes täpselt samasugune. Lühikeste sõnade puhul (näiteks "aga"
) on lihtne mõista, et tegemist on palindroomiga, kuid pikemate sõnade puhul on palindroomi tuvastamine keerulisem.
Koostada programm, mis
- loob tühja järjendi, kuhu hakkab sisestama otsuseid, kas sõna on palindroom või mitte;
- küsib kasutajalt
while
-tsükli abil sõnu seni, kuni kasutaja sisestab sõna"lõpp"
; - iga sõna puhul, mis ei ole sõna
"lõpp"
, uurib, kas sõna on palindroom. Sõna on lihtne tagurpidi pöörata käsusõna[::-1]
abil; - juhul, kui sõna on palindroom, lisab järjendisse lause kujul
"<sõna> on palindroom."
, muutes sisestatud sõna esitähe suureks. Näiteks sõna"aga"
puhul"Aga on palindroom."
; - juhul, kui sõna ei ole palindroom, lisab järjendisse lause kujul
"<sõna> ei ole palindroom."
, muutes sisestatud sõna esitähe suureks. Näiteks sõna"koer"
puhul"Koer ei ole palindroom."
; - juhul, kui sõna on
"lõpp"
, väljastab tühja rea ja seejärel kõik järjendi elemendid üksteise alla ning lõpetab töö.
Näide programmi tööst:
>>> %Run lahendus.py
Sisesta sõna: aga
Sisesta sõna: koer
Sisesta sõna: sadam
Sisesta sõna: sadas
Sisesta sõna: puuluup
Sisesta sõna: oo
Sisesta sõna: sõna
Sisesta sõna: kuulilennuteetunneliluuk
Sisesta sõna: lõpp
Aga on palindroom.
Koer ei ole palindroom.
Sadam ei ole palindroom.
Sadas on palindroom.
Puuluup on palindroom.
Oo on palindroom.
Sõna ei ole palindroom.
Kuulilennuteetunneliluuk on palindroom.
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.
Kontrollülesanne 4.3. Sissetulekud
Failis konto.txt
on kirjas ujukomaarvudena pangakonto tehingud (kus positiivsed arvud on sissetulekud ja negatiivsed arvud on väljaminekud). Iga arv on eraldi real. Näitefaili võite salvestada siit või koostada ise mõne tekstiredaktoriga (kasvõi Thonnyga). Tekstifaili kasutamiseks programmi sees peab fail asuma programmifailiga samas kaustas.
Koostada programm, mis
- loeb failist nimega konto.txt andmed;
- väljastab ekraanile kõik sissetulekud ehk failist leitud positiivsed arvud. Iga arv peab olema eraldi real ja positiivsete arvude omavaheline järjekord peab jääma samaks nagu failis.
Näide programmi tööst:
Faili konto.txt
sisu:
100 -3.45 -45 18.67 -7.02 86.23 0.03 531.67 -200
>>> %Run lahendus.py
100
18.67
86.23
0.03
531.67
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.