2017-03-20 85 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++。