X-Git-Url: http://git.tomasm.cz/krypto.git/blobdiff_plain/09f076927cd6294ae6c3db9268496dc3a8fc87f4..1c2f16f2d055b5175052787f27b7d1ff2c21d2a9:/koincidence.py?ds=inline diff --git a/koincidence.py b/koincidence.py index c01f28d..efb903c 100644 --- a/koincidence.py +++ b/koincidence.py @@ -1,20 +1,27 @@ from ocesavac import ocesat from collections import deque -def index_koincidence(text): - t = ocesat(text, False) #zatim bez mezer +def index_koincidence(text, mezery=False): + t = ocesat(text, mezery) + if mezery: + t = t[1:-1] deq = deque(t) shod = 0 for i in range(1, len(t)): deq.rotate(1) shod += sum (x == y for x, y in zip(deq, t)) return float(shod)/(len(t)*(len(t) - 1)) + +def index_koincidence2(text1, text2): + """Pro dva texty vraci index koincidence. Texty nijak neupravuje, + ocekava ze se skladaji pouze ze znaku pracovni abecedy.""" + shod = sum (x == y for x, y in zip(text1, text2)) + return float(shod)/min(len(text1), len(text2)) def index_rozkladu(text, deleni): if (deleni == 1): return index_koincidence(text) - t = ocesat(text, False) #zatim bez mezer - texty = rozklad(t, deleni) + texty = rozklad(ocesat(text, False), deleni) return sum([index_koincidence(text) for text in texty])/len(texty) def tabulka_indexu(text):