Python need to create a program that decodes caesar ciphers

Python: need to create a program that decodes caesar ciphers and meets the following requirements

1. Input the cipher-text.

2. Find the most common character.

3. Find the shift from “E” to that most common character.

4. Use the shift to decode each character of the cipher-text and print the resulting plain-text.

6. If the plain-text isn’t readable English, try the next-most common character and continue checking successive next-most-common characters until the resulting plain-text is readable.

7. uses get_char, get_shift, output_plaintext functions

Solution

print \"Cracking a Caesar cypher.\"

cipher = raw_input(\"Input cipherText: \")
#cipher = \"Wlv d frpprq surri, Wkdw orzolqhvv lv brxqj dpelwlrq\'v odgghu\"

cipher = cipher.upper()

def get_char_dict(s):
dict_char = {}
for c in s:
if c.isalpha():
if c in dict_char:
dict_char[c] += 1
else:
dict_char[c] = 1

return dict_char

def find_max_key(dict_char):
max_value = -1
max_char = \'\'
  
for key in dict_char:
if dict_char[key] > max_value:
max_value = dict_char[key]
max_char = key
dict_char[max_char] = 0
return (max_char, dict_char)

def find_shift_from_E(c):
return (ord(c) - ord(\'E\'))%26

dict_char = get_char_dict(cipher)

def create_shift_dict(shift):
shift_dict = {}
for i in range(0, 26):
shift_from_A = ord(\'A\') + (i+shift)%26
shift_dict[chr(shift_from_A)] = chr(ord(\'A\') + i)
return shift_dict

response = \"no\"
while response != \"yes\":
(max_char, dict_char) = find_max_key(dict_char)
shift = find_shift_from_E(max_char)
shift_dict = create_shift_dict(shift)
result = \"\"
for c in cipher:
if c.isalpha():
result += shift_dict[c]
else:
result += c
print result
response = raw_input(\"Is the plaintext readable as English? (yes/no): \")

pastebin link of code: http://pastebin.com/UmkvXD39

Python: need to create a program that decodes caesar ciphers and meets the following requirements 1. Input the cipher-text. 2. Find the most common character. 3
Python: need to create a program that decodes caesar ciphers and meets the following requirements 1. Input the cipher-text. 2. Find the most common character. 3

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site