projects
/
cipher-training.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Breaking affine ciphers
[cipher-training.git]
/
lettercount.py
diff --git
a/lettercount.py
b/lettercount.py
index 4a7082d1068669762d1c8526c761382d07ed6182..956eca1a5b2ba469d66c80612446726cdf8307d4 100644
(file)
--- a/
lettercount.py
+++ b/
lettercount.py
@@
-1,21
+1,13
@@
+from language_models import sanitise
import collections
import collections
-import string
-
-def sanitise(text):
- return [l.lower() for l in text if l in string.ascii_letters]
corpora = ['shakespeare.txt', 'sherlock-holmes.txt', 'war-and-peace.txt']
corpora = ['shakespeare.txt', 'sherlock-holmes.txt', 'war-and-peace.txt']
-counts = collections.
defaultdict(int
)
+counts = collections.
Counter(
)
for corpus in corpora:
for corpus in corpora:
- text = sanitise(open(corpus, 'r').read())
- for letter in text:
- counts[letter] += 1
-
-sorted_letters = sorted(counts, key=counts.get, reverse=True)
+ text = sanitise(open(corpus).read())
+ counts.update(text)
with open('count_1l.txt', 'w') as f:
with open('count_1l.txt', 'w') as f:
- for l in sorted_letters:
- f.write("{0}\t{1}\n".format(l, counts[l]))
-
-
\ No newline at end of file
+ for l, c in counts.most_common():
+ f.write("{}\t{}\n".format(l, c))