我有一些涉及凯撒密码的作业,我被困在这里: 我需要编写一个获取文本(作为String)和字典的函数。字典键是英文ABC,其值是来自ABC的其他字母。 我的目标是翻阅文本,无论哪里有一封信(只有字母!) 将其更改为属于字典中特定字母的值。
编辑:我的函数应该将解密的文本作为字符串返回。
答案 0 :(得分:3)
您正在寻找translate
方法:
>>> u"abc".translate({ord('a'): u'x', ord('b'): u'y', ord('c'): u'z'})
'xyz'
如果您使用的是字节串,或者您的Python超过2.7,请查看maketrans
。
答案 1 :(得分:2)
一点伪代码(语言不可知)。你应该可以从这里拿走它。
cipher = array
caesar_mask = [ A: G, ... , Z: F ]
for each letter_index in text
cipher_letter = caesar_mask[text[letter_index]]
cipher[] = cipher_letter
end
答案 2 :(得分:2)
第一个问题是你是否必须这样做。
然后我会研究这些事情:
没有任何特定的顺序,也没有包含所有内容。