我是python编码的新手,我尝试实现的逻辑/思想是:
我得到了一个完全编码的Enigma机器和一个编码的消息。消息末尾只有两个单词“ crib”,密钥的长度为3。
我认为我应该为所有可能的键组合(例如'AAA','AAB'...)创建一个循环,并尝试每种组合以查看哪个键为键。一旦解码后的消息的最后两个单词与我的婴儿床匹配,循环就会中断,这意味着我已经找到了正确的3个字母键(例如'GKJ')。
但是自从我是新人以来,我在编码方面有些迷茫。
我只能为循环可能的组合做这部分:
from itertools import combinations_with_replacement
import string
alphabets = string.ascii_letters.lower()
for (a,b,c) in combinations_with_replacement(alphabets, 3):
guess = (a+b+c)
print (guess)
所以我的问题就像我如何将这三个字母的猜测分别放入“机器”中,如果不正确,它将继续进行下一个组合并重复直到找到两个单词的婴儿床?
我希望这是有道理的。谢谢