4 english_counts
= collections
.defaultdict(int)
5 with
open('count_1l.txt', 'r') as f
:
7 (letter
, count
) = line
.split("\t")
8 english_counts
[letter
] = int(count
)
11 sanitised
= [c
.lower() for c
in text
if c
in string
.ascii_letters
]
12 return ''.join(sanitised
)
14 def letter_frequencies(message
):
15 frequencies
= collections
.defaultdict(int)
16 for letter
in sanitise(message
):
17 frequencies
[letter
]+=1
20 def caesar_cipher_letter(letter
, shift
):
21 if letter
in string
.ascii_letters
:
22 if letter
in string
.ascii_lowercase
:
23 return chr((ord(letter
) - ord('a') + shift
) % 26 + ord('a'))
25 new_letter
= letter
.lower()
26 yolo
= chr((ord(new_letter
) - ord('a') + shift
) % 26 + ord('a'))
31 def caesar_decipher_letter(letter
, shift
):
32 return caesar_cipher_letter(letter
, -shift
)
34 def caesar_cipher_message(message
, shift
):
35 big_cipher
= [caesar_cipher_letter(l
, shift
) for l
in message
]
36 return ''.join(big_cipher
)
38 def caesar_decipher_message(message
, shift
):
39 return caesar_cipher_message(message
, -shift
)