X-Git-Url: http://git.tomasm.cz/krypto.git/blobdiff_plain/ec94fc01a90b006e61d37d0f152bd60e38d05cd4..bc1304dd3a581fead817d92b1019dd3152441215:/referencni.py?ds=sidebyside diff --git a/referencni.py b/referencni.py index e00d0b7..d1a89ea 100644 --- a/referencni.py +++ b/referencni.py @@ -1,15 +1,15 @@ #!/usr/bin/env python -from itertools import combinations +"""Modul pro praci s referencnimi tabulkami.""" + import pickle from ocesavac import ocesat import codecs -from koincidence import index_koincidence - -ABECEDA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -MABECEDA = ' ABCDEFGHIJKLMNOPQRSTUVWXYZ' +from koincidence import index_koincidence2 +from spolecne import ABECEDA, MABECEDA def nova_tabulka(tabulka, abc=MABECEDA): + """Z tabulky cetnosti vyskytu udela tabulku percentualni cetnosti.""" celkem = sum(sum(tab2.values()) for tab2 in tabulka.values()) if celkem != 0: for i in abc: @@ -56,16 +56,27 @@ class treference: self.soubory.append(soubor) def uloz(co, kam): - f = open(kam, 'w') - pickle.dump(co, f) - f.close() + soubor = open(kam, 'w') + pickle.dump(co, soubor) + soubor.close() def nacti(odkud): return pickle.load(open(odkud)) +def tiskni(sref): + r = nacti(sref) + d = dict(zip(r.abeceda, r.frekvence)) + for i in range(len(r.abeceda)): + print "{0} {1:>6.2%} {2} {3:>6.2%}".format(r.abeceda[i], r.frekvence[i], r.poradi[i], d[r.poradi[i]] ) + print " " + print "Index koincidence: {0:>5.2%}".format(r.index_koinc) + print " " + for char in r.abeceda: + print char + " " + " ".join(["{:0>5.2f}".format(r.tabulka[char][ch2] * 1000) for ch2 in r.abeceda]) + def prumerny_index(tref): suma = 0 - for soubor in ref.soubory: + for soubor in tref.soubory: f = codecs.open(soubor, encoding='UTF-8') text = ocesat(f.read(), tref.mezery) f.close()