2011-12-02 61 views
-4

我有一些功課涉及凱撒密碼,和我困在這裏: 我需要寫它得到一個文本(字符串)的功能和字典。字典鍵是英文ABC,其值是來自ABC的其他字母。 我的目標是翻閱文本,並在任何有字母的地方(只有字母!) 將其更改爲屬於字典中特定字母的值。切換字母不同的字母串內(凱撒密碼)

編輯:我的函數應該將解密後的文本作爲字符串返回。

+0

到這樣的問題,傳統的反應是,「讓我們瞭解您已經完成的工作......」 – bgporter

+0

記住,你可以遍歷字符串,所以像'「」。加入(C在inputString C) '會產生一個新的字符串(我們在這個例子中並沒有做任何交換)。這可能會讓你開始。 –

+0

我到目前爲止一無所獲。我仍然在思考如何將文本移動到列表中,或者其他格式將允許我更改字母。 – Orr

回答

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

第一個問題是,如果你必須做到這一點。

然後我會考慮這些事情:

  1. 列表理解
  2. 地圖()
  3. 如何通過字母串迭代
  4. 如何加入的字母來創建的字符串
  5. 序列
  6. 如何替換字符串中的字符

不以任何特定的順序,並且不是全部包括在內。或

>>> u"abc".translate({ord('a'): u'x', ord('b'): u'y', ord('c'): u'z'}) 
'xyz' 

maketrans如果你使用的字節串,如果你的Python是年紀比2.7: