def guess_key1(cipher_text, words): letter_frequency = get_letter_frequency(cipher_text.lower()) sorted_letters = sorted(letter_frequency.keys(), key=lambda x: letter_frequency[x], reverse=True) # paixu most_common_letters = sorted_letters[:6] # first 6 for i in range(len(most_common_letters)): for j in range(i+1, len(most_common_letters)): for k in range(j+1, len(most_common_letters)): key = {most_common_letters[i]: 'e', most_common_letters[j]: 't', most_common_letters[k]: 'a'} . for letter in sorted_letters: if letter not in key: key.update() 补充最后一行的key.update,使未被收入进key中的字母被合并入key中
时间: 2024-03-03 17:52:03 浏览: 60
cipher_driver.rar_The Test
可以将最后一行的key.update()修改为以下代码:
```
for letter in sorted_letters:
if letter not in key:
key[letter] = ''
```
这样未被收入进key中的字母会被加入到key中,并且对应的值为'',即空字符串。这样做的目的是为了后续使用key解密时,如果密文中出现了未被收录在key中的字母,可以将其直接输出而不需要进行解密。
阅读全文