X-Git-Url: http://git.tomasm.cz/krypto.git/blobdiff_plain/5e6a50eddcb77949a6861d8ca41df0082ec28558..refs/heads/nmail:/posuny.py diff --git a/posuny.py b/posuny.py index 4c05de1..2cfa266 100644 --- a/posuny.py +++ b/posuny.py @@ -3,8 +3,7 @@ import referencni from referencni import reference from ocesavac import ocesat - -ABECEDA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +from spolecne import ABECEDA def posun(char, pos=1): """Pokud dostane velke pismeno, vrati pismeno ktere je od nej vzdaleno @@ -31,8 +30,14 @@ def eu_vzdalenost(vec1, vec2): return sum([(x - y)**2 for (x, y) in zip(vec1, vec2)]) def nejlepsi(text): - """Vrati to posunuti textu (neocesaneho), ktere ma frekvence znaku + """Vrati text (neocesany) posunuty tak, aby mel frekvence znaku co nejblizsi cestine bez mezer.""" + posunuti = nej_posun(text) + return (posunuti, ''.join([posun(char, posunuti) for char in text.upper()])) + +def nej_posun(text): + """Vrati pocet znaku v abecede, o ktere by se mel text posunout, aby mel + frekvence znaku co nejblize cestine bez mezer.""" ref = referencni.nacti('bref') freq = dict() for char in ocesat(text, False): @@ -47,4 +52,4 @@ def nejlepsi(text): if nova_vzdalenost < vzdalenost: vzdalenost = nova_vzdalenost posunuti = i - return (posunuti, ''.join([posun(char, posunuti) for char in text.upper()])) + return posunuti