10. praktikum
1. Sõnapikkuste analüüs
Kirjutage programm, mis küsib kasutajalt tekstifaili nime ja tagastab analüüsi selles failis leiduvate eri pikkusega sõnade esinemissageduste kohta, nt:
1-tähelisi sõnu esines 78 korral 2-tähelisi sõnu esines 123 korral ... 15-tähelisi või pikemaid sõnu esines 6 korral
Vihje: Uurige õpiku 9.peatükist harjutust "Täringuvisete statistika".
Lisa 1: Kõige lõpuks väljastage kõik erinevad 15-tähelised või pikemad sõnad.
Lisa 2: Laske programmil joonistada analüüsi tulemuste põhjal tulpdiagramm.
2. Listi elementide järjestamine
Ühe koduülesandena pidite kirjutama funktsiooni, mis võtab argumendiks listi ja ajab seal elemendid juhuslikult segamini.
Nüüd on ülesandeks kirjutada funktsioon minu_sort
, mis võtab argumendiks suvalise pikkusega arvulisti ning järjestab listi elemendid mittekahanevalt. Midagi tagastada ei ole vaja.
Vihje: kõige lihtsam on kasutada jällegi elementide paarikaupa äravahetamist. Tõenäoliselt on vaja list mitu korda "läbi käia".
Lisa 1: Muutke lahendust nii, et argumendiks antud list jääb muutmata ja funktsioon tagastab uue, järjestatud listi.
3. Oma split
Kirjutage funktsioon minu_split
, mis toimib analoogselt Pythoni sõnemeetodile split
. Loodav funktsioon peaks võtma argumendiks kaks sõne (tekst ja eraldaja) ning tagastama sõnede järjendi. Nt.
minu_split("tere vana kere", " ")
peaks tagastama järjendi
["tere", "vana", "kere"]
Lisa: Proovige teha oma funktsiooni veel sarnasemaks Pythoni split
-ile -- korraldage nii, et kui eraldajat pole antud, siis toimub jupitamine nende kohtade pealt, kus on koos 1 või rohkem "whitespace" sümbolit (so. tühik, tabulaator või reavahetus).
4. Supermarket
Järjendisse on salvestatud kassajärjekorras olevate inimeste korvis olevate esemete arvud (küsida kasutajalt). Koostada programm, mis iga järjekorras oleva inimese korral leiab, mitmel inimesel tema ees on korvis rohkem kui kolm eset.
5. Järjestikused naturaalarvud
Kirjutage funktsioon, mis võtab argumendiks naturaalarvude listi, ning tagastab True
või False
vastavalt sellele, kas etteantud list sisaldab n esimest naturaalarvu, kus n on listi pikkus. Näiteks
on_järjestikused([2,4,1,3,0])
peaks tagastama True
aga
on_järjestikused([2,4,1,3])
peaks tagastama False
(sest 0 on puudu).
NB! Funktsioon peab töötama ka tühja listi puhul!
Jah, arvutiteaduses loetakse ka 0 naturaalarvuks.