2016-04-01 56 views
0

所以我試圖做一個臨時編碼器/解碼器,而不使用模塊,以及我的方法工作與單數字母,但不是單詞。我設置了代碼,以便用您選擇的鍵對單詞的每個字母進行編碼。如何解碼一個字母列表並重建Python中的原始單詞?

我想知道的是如何解碼編碼數字的列表,然後重建單詞。這將是驚人的,非常有益的感謝。 P.S.我是Python的初學者,這是我的第二天,所以我嘗試了我所知道的一切,請不要使用任何模塊。

while True : 
option = input('Encode or Decode? : ') 
if option == 'encode': 
    start = input('What word do you want to be encoded?: ') 
    word = start 
    key = int(input('What key would you like to use?: ')) 
    z=[] 
    for i in word: 
     encoder = ord(i)*key+key/key 
     z.append(encoder) 
    print(z) 
else: 
    start = float(input('What encoded string do you want to be decoded?: ')) 
    key = int(input('What key would you like to use?: ')) 
    decoder = start/key 
    print(chr(round(decoder))) 

回答

0

你可以做什麼來解碼是數字的序列類型回我已經調整爲你的代碼:

else: 
    x = [] 
    start = (input('What encoded nubmers do you want to be decoded?: ')) 
    split_list = start.split() 
    key = int(input('What key would you like to use?: ')) 
    for i in split_list: 
     integer = int(i) 
     decoder = int(integer/key) 
     letter = chr(decoder) 
     x.append(letter) 
    print("".join(x)) 

start.split()拆分代碼放到單獨的字符串,並把它們放在一個列表,split_list。該代碼然後檢查split_list中的每個數字並解碼該數字,然後將其重新轉換爲字符。然後打印字符的連接結果。

例如,如果我編碼apple與關鍵5,然後運行解碼器,並鍵入486 561 561 541 506與關鍵5它成功返回apple

這甚至適用於多個單詞,因爲我試圖編碼hello world然後解碼它,它是成功的。我希望這有幫助! :)

+0

這是非常有用的,雖然使它的工作,我不得不改變一些編碼部分適合解碼器,反正謝謝! – Riderfighter

相關問題