Search
Cílem programu je provést statistickou analýzu textu a řazení slov podle různých kritérií. Hlavním statistickým nástrojem je histogram (nebo také hustota pravděpodobnosti). Vstupem je libovolně dlouhý text bez diakritiky. Text může obsahovat interpunkci (čárka, tečka, středník, pomlčka), kterou je třeba odstranit.
Do systému BRUTE odevzdávejte soubor pojmenovaný text.py. V tomto souboru budou funkce histogram a serad.
text.py
histogram
serad
Funkce pro výpočet a vykreslení histogramu (pravděpodobnostní funkci). Pravděpodobnosti jednotlivých písmen jsou reprezentovány řadami znaků *.
*
Funkce má tři parametry:
text
scale
0
case_sensitive
False
Návratovou hodnotou funkce je seznam n-tic, kde první položkou n-tice je znak a druhou položkou je počet výskytů v textu.
ret = histogram('Ahoj svete, kde to kvete', 0) a: * d: * e: ***** h: * j: * k: ** o: ** s: * t: *** v: ** # ret obsahuje [('a', 1), ('d', 1), ('e', 5), ('h', 1), ('j', 1), ('k', 2), ('o', 2), ('s', 1), ('t', 3), ('v', 2)]
ret = histogram('Ahoj svete, kde to kvete', 10) a: ** d: ** e: ********** h: ** j: ** k: **** o: **** s: ** t: ****** v: **** # ret obsahuje [('a', 1), ('d', 1), ('e', 5), ('h', 1), ('j', 1), ('k', 2), ('o', 2), ('s', 1), ('t', 3), ('v', 2)]
ret = histogram('Aaaach, to je kraaasa', 4) a: **** c: e: h: j: o: s: t:
Cílem funkce je seřadit slova vstupního textu podle zvoleného kritéria. Za slovo budeme pro účely tohoto domácího úkolu považovat shluk písmen o délce větší nebo rovnou třem.
Funkce pro řazení slov má tři parametry:
metoda
Metody řazení:
1
2
Pokud není možné rozhodnout pořadí slov na základě kritéria, doplňkovým kritériem je řazení podle abecedy. Návratovou hodnotou funkce je seřazený seznam.
ret = serad('Aaaach, to je kraaasa', 0, True) print(ret) ['kraaasa', 'Aaaach']
ret = serad('Aaaach, to je kraaasa', 2, True) print(ret) ['kraaasa', 'Aaaach']
ret = serad('Aaaach, to je kraaasa', 2, False) print(ret) ['Aaaach', 'kraaasa']