我有一些功課涉及凱撒密碼,和我困在這裏: 我需要寫它得到一個文本(字符串)的功能和字典。字典鍵是英文ABC,其值是來自ABC的其他字母。 我的目標是翻閱文本,並在任何有字母的地方(只有字母!) 將其更改爲屬於字典中特定字母的值。切換字母不同的字母串內(凱撒密碼)
編輯:我的函數應該將解密後的文本作爲字符串返回。
我有一些功課涉及凱撒密碼,和我困在這裏: 我需要寫它得到一個文本(字符串)的功能和字典。字典鍵是英文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
第一個問題是,如果你必須做到這一點。
然後我會考慮這些事情:
不以任何特定的順序,並且不是全部包括在內。或
>>> u"abc".translate({ord('a'): u'x', ord('b'): u'y', ord('c'): u'z'})
'xyz'
看maketrans
如果你使用的字節串,如果你的Python是年紀比2.7:
您正在尋找的translate
方法。
到這樣的問題,傳統的反應是,「讓我們瞭解您已經完成的工作......」 – bgporter
記住,你可以遍歷字符串,所以像'「」。加入(C在inputString C) '會產生一個新的字符串(我們在這個例子中並沒有做任何交換)。這可能會讓你開始。 –
我到目前爲止一無所獲。我仍然在思考如何將文本移動到列表中,或者其他格式將允許我更改字母。 – Orr