暗号化されたテキスト ファイルを読み取り、さまざまな方法で復号化する Python スクリプトがあります。私が追加しようとしている最後の 2 つのオプションは、ファイルで最も頻繁に使用される文字と、英語で最も頻繁に使用される文字をマッピングすることです。
頻度を表示する以前の関数は次のとおりです。
def functOne:
Crypt = input("what file would you like to select? ")
filehandle = open(Crypt, "r")
data = filehandle.read().upper()
char_counter = collections.Counter(data)
for char, count in char_counter.most_common():
if char in string.ascii_uppercase:
print(char, count)
def FunctTwo:
print "Relative letter Freq of letters in English Language A-Z; ENGLISH = (0.0749, 0.0129, 0.0354, 0.0362, 0.1400, 0.0218, 0.0174, 0.0422, 0.0665, 0.0027, 0.0047, 0.0357, 0.0339, 0.0674, 0.0737, 0.0243, 0.0026, 0.0614, 0.0695, 0.0985, 0.0300, 0.0116, 0.0169, 0.0028, 0.0164, 0.0004)"
次の 2 つのために必要な作業の説明を次に示します。
機能 3:
テキストで最も頻繁に使用される文字を、英語で最も頻繁に使用される文字に降順でマッピングします。
[letter in cryptogram] -> [letter in english language]
機能 4:
ユーザーが周波数マップを手動で編集できるようにする
どうすればこれを行うことができますか?少なくとも 2 つの周波数を組み合わせて編集できるようにすることで、マッピングの部分で少し迷っています。