Python 将字母切换为字符串中的不同字母(凯撒密码)

Python 将字母切换为字符串中的不同字母(凯撒密码),python,string,encryption,Python,String,Encryption,我有一些关于凯撒密码的作业,我被困在这里: 我需要编写一个函数来获取文本(作为字符串)和字典。字典键是英语ABC,其值是ABC中的其他字母。 我的目标是复习课文,只要有字母(只有字母!) 将其更改为属于字典中特定字母的值 编辑:我的函数应该以字符串形式返回解密后的文本。一点伪代码(与语言无关)。你应该可以从这里开始 cipher = array caesar_mask = [ A: G, ... , Z: F ] for each letter_index in text ciphe

我有一些关于凯撒密码的作业,我被困在这里: 我需要编写一个函数来获取文本(作为字符串)和字典。字典键是英语ABC,其值是ABC中的其他字母。 我的目标是复习课文,只要有字母(只有字母!) 将其更改为属于字典中特定字母的值

编辑:我的函数应该以字符串形式返回解密后的文本。

一点伪代码(与语言无关)。你应该可以从这里开始

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

第一个问题是,你是否必须在适当的地方这样做

然后我会调查这些事情:

  • 列表理解
  • 地图()
  • 如何遍历字符串中的字母
  • 如何连接字母序列以创建字符串
  • 如何替换字符串中的字符
  • 不按任何特定顺序,也不一定包括所有内容。

    您正在寻找的方法:


    看看您是在使用ByTestRing还是Python的版本早于2.7。

    对于这样的问题,传统的回答是,“向我们展示您到目前为止做了什么…”请记住,您可以迭代字符串,因此类似于
    “”。join(inputString中的c代表c)
    将生成一个新字符串(在那个例子中,我们实际上没有做任何交换)。这可能会让你开始。到目前为止,我什么都没有。我仍在考虑如何将文本移动到列表中,或者其他结构允许我更改字母。你需要接受一些答案。
    >>> u"abc".translate({ord('a'): u'x', ord('b'): u'y', ord('c'): u'z'})
    'xyz'