我和一个同事决定尝试制作一个基本的 Python 程序,该程序将 1) 打乱字符串并 2) 取消打乱字符串。我们的想法是我们可以互相发送绝对垃圾。
我的第一次尝试(我对此很糟糕):
x = ("This is the text")
x1 = x.replace("a","r")
x2 = x1.replace("b","w")
x3 = x2.replace("c","z") #Do this for the whole alphabet
print(x3) #both upper and lower case
然后做同样的事情,但从头到尾解读......它有效,但它也是 longggggg ......
本文代码:http://gomputor.wordpress.com/2008/09/27/search-replace-multiple-words-or-characters-with-python/建议创建一个方法如下:
def replace_all(text,dic):
for i,j in dic.iteritems():
text = text.replace(i,j)
return text
reps = {'a':'r','b':'w','c':'z'} #for the whole alphabet again (yawn)
x = ("This is the text")
txt = replace_all(x, reps)
print(txt)
这行得通吗?我在其他地方看到 iteritems() 受到负面报道??
请您参考如下方法:
iteritems 返回字典中键值对的列表。注意 iteritems 的唯一原因是它在 python 3.0 中被删除,因为 dict.items 现在做同样的事情。
至于代码,它在功能上是正确的(除了 x 应该是 my_text),尽管加密强度不是很高。
有许多算法使用更简单的加密 key 方法(您的 reps 字典)并产生更高质量的加密。如果你在 python 中工作,为什么不使用像 https://pypi.python.org/pypi/simple-crypt 这样的简单库呢?获得更高质量的加密/解密?
