Institute of Computer Science
  1. Main page
  2. Python koolis
ET
Log in

Python koolis

  • Sissejuhatus
  • Teemad
  • PyGame
  • ÜLESANDED

1 Käsurida, muutujad
2 Sisend, väljund, tingimus
3 Tsükkel
4 Järjend
5 Sõnastik
6 Funktsioon
7 Failioperatsioonid
8 Moodulid
9 Pygame: aken
10 PyGame: pildid, tekst
11 PyGame: animeerimine
12 PyGame: juhtimine klaviatuuriga
13 PyGame: juhtimine hiirega
14 PyGame: heli kasutamine
15-16 PyGame: mängu loomine

7. Ülesanded: failioperatsioonid

Teooriapeatükid:

  • 14. Failioperatsioonid

Ülesanne 1

Loo fail tuttavad.txt ja lisa sinna vähemalt 6 tuttava perekonna- ja eesnimed (iga tuttav uuele reale, perekonna- ja eesnimi tühikuga eraldatult). Koosta programm, mis loeb failist andmed ja väljastab need ekraanile tähestikulises järjekorras. Mõistlik on ilmselt kasutada järjendit ja sellega seonduvaid võimalusi (järjestamist). Tähestikulises järjekorras salvestage tuttavate nimed ka uude faili tuttavad1.txt.

Ülesanne 2

Tee uus fail luuletus.txt ning lisa sinna järgmine luuletus:

Hommikul kui üles ärkan,
arvutit ma laual märkan.
Padja, teki viskan maha,
jooksen ruttu compu taha.
Kiirelt sisestan parooli,
kuid juba tuleb minna kooli.
Error tuleb ette siis,
kool on mulle räme piin.

Koosta programm, mis kuvab ekraanile luuletuse read, kuid lisab nende ette rea järjekorranumbri ja iga rea järele sulgudesse reas asuvate sümbolite arvu e. rea pikkuse.

Ülesanne 3

Tee programm, mis väljastab failist luuletus.txt kasutaja poolt soovitud rea nt:

Mitmendat rida soovid kuvada:
>> 7
Error tuleb ette siis,

NB! Faili avamiseks ja rea väljastamiseks koosta eraldi alamprogramm (ehk funktsioon).

Ülesanne 4

Koosta programm, mis küsib kasutajalt rea, mille järele ta soovib failis luuletus.txt uut rida lisada ning seejärel lisab kasutaja poolt sisestatud rea nt:

Sisesta rida, mille järele soovid uut rida lisada:
>> Padja, teki viskan maha,
Sisesta rida, mida soovid lisada:
>> üles ärgata ma ei taha,

Tulemus failis luuletus.txt:

Hommikul kui üles ärkan,
arvutit ma laual märkan.
Padja, teki viskan maha,
üles ärgata ma ei taha,
jooksen ruttu compu taha.
Kiirelt sisestan parooli,
kuid juba tuleb minna kooli.
Error tuleb ette siis,
kool on mulle räme piin.

Ülesanne 5

Palindroomiks nimetatakse sõna (ka sõnaühendit), mis on nii vasakult paremale kui paremalt vasakule lugedes täpselt ühesugunem (näit. "kook", "kuulilennuteetunneliluuk" jne). Loo programm, mis trükib ekraanile välja kõik tekstifailis olevad sõnad, mis on palindroomid. Alustekstiks võid kasutada suvalist teksti, kuid katsetada tasuks ka sõnaloenditega, kus iga sõna asub eraldi real (näit. eesti keele sõnade algvormid e. lemmad veebilehelt http://www.eki.ee/tarkvara/wordlist/).

Ülesanne 6

Ristsõnade lahendamine on sageli keeruline: teame küll sõna pikkust ja mõnd tähte, kuid tervet sõna ära arvata ei oska. Loo programm, mis abistaks ristsõna lahendajat: kasutajalt küsitakse sõna pikkust ning esimest ja viimast tähte ning väljastatakse sõnastikus olevad kõikvõimalikud sellised sõnad. Sõnastiku (algvormide e. lemmade loendi) võid leida näiteks siit: http://www.eki.ee/tarkvara/wordlist/. Arendusvõimalusi:

  • Kasutaja võib ette anda pikema sõna alguse ja lõpu.
  • Küsida võib keerulisemaid mustreid, näiteks küsimus stiilis "k-s-" otsib kõiki neljatähelisi sõnu, mille esimene täht on "k", kolmas täht "s" (näiteks "kass", "kask", "kast", "kest", "kosk" jne).

Ülesanne 7

Koosta programm muinasjutu kooskirjutamiseks. Eesmärgiks on see, et iga uue teksti lisaja näeb eelmisest tekstist vaid viimast rida. Kasuta järjendi loomist ja faili kirjutamist ning failist lugemist.

Ülesanne 8

Koosta programm, mis loob ette antud tehete arvuga juhuslike arvudega liitmistehete harjutamise töölehe. Tulemus kirjuta faili tehted.txt. Tehete arv küsi kasutajalt. Lisaks koosta fail vastused.txt, kus on samad tehted koos vastustega.

Arendusvõimalusi:

  • lisa tehteid
  • küsi kasutajalt, mis tehtega tööleht koostada
  • koosta tööleht kõikide tehetega
  • küsi kasutajalt, mitu arvutusülesannet koostada

Creative Commons litsentsiga Autorile viitamine + Mitteäriline eesmärk 3.0 Eesti (CC BY-NC 3.0 EE) - https://creativecommons.org/licenses/by-nc/3.0/ee/

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment