1 from ocesavac import ocesat
2 from collections import deque
4 def index_koincidence(text):
5 t = ocesat(text, False) #zatim bez mezer
8 for i in range(1, len(t)):
10 shod += sum (x == y for x, y in zip(deq, t))
11 return float(shod)/(len(t)*(len(t) - 1))
13 def index_koincidence2(text1, text2):
14 #predpokladam, ze v textech jsou jenom znaky se kterymi pocitam
15 shod = sum (x == y for x, y in zip(text1, text2))
16 return float(shod)/min(len(text1), len(text2))
18 def index_rozkladu(text, deleni):
20 return index_koincidence(text)
21 t = ocesat(text, False) #zatim bez mezer
22 texty = rozklad(t, deleni)
23 return sum([index_koincidence(text) for text in texty])/len(texty)
25 def tabulka_indexu(text):
26 return '\n'.join(['{1:>2} {0:.3%}'.format(
27 index_rozkladu(text, d), d) for d in range(1, 11)])
29 def rozklad(text, deleni):
31 for i in range(deleni):
33 [text[j] for j in range(len(text)) if j % deleni == i]))