2017-03-20 170 views
0

我想檢查編碼與往返編碼解碼週期。我有一個字符串變量(如「狗」)。我通過我的編碼函數運行它,並得到「jhb」(假設映射(d:j,h:o,g:b))的翻譯字典)。我現在如何檢查這個?我通過解碼函數運行「jhb」(現在使用相反的字典(j:d,o:h,b:g))。這返回「狗」,它等於原文。邏輯分析 - 這是否有意義

我在下面的實現中找不到相等。幫幫我?

a = myfunction(text,dictionary) 
b = myfunction(a,oppisite_dictionary) 
a == b 
+0

是的,這將工作(如凱撒加密)。但我看不到你的問題。 –

+0

如果你的日常工作正常,問題是a = b或者應該b =文本 – chrischris

+0

'b == text'。 –

回答

0

良好的變量名稱將有助於提高可讀性。往返的想法是,您編碼一個文本,用相反的參考表解密它,然後將解密版本與原始文件進行比較。看看這個Python代碼:

coded_text = encode(original_text, encode_dict) 
check_text = decode(coded_text, decode_dict) 
if check_text == original_text: 
    print "We did it!" 

更容易閱讀和理解嗎?請記住,您可能需要在幾周或幾年內再次使用此功能。在我編寫原始代碼32年後,我的個人記錄又回到了矩陣線性代數的算法中,然後從FORTRAN轉換爲C++。