【发布时间】:2021-05-10 02:45:54
【问题描述】:
所以我在 Python 中做了一个简单的密码,现在试图弄清楚如何优化它。
我有一个词 library = ['ab, 'ba', 'ac' ... ] (library.length = 127) 和我用库中的词编码的输入字符串的每个字符,例如
a becomes ab, b becomes ba, etc
我的目标是迭代编码,类似于:
[iterations = 3] ab -> abba -> abbabaab -> abbaabbaababba
现在我只是想优化它,想知道最好的方法是什么?
*lock 可以传递例如 [31, 51, 41],其中数字表示要编码的库的移位。
library = ['ab', 'ba', 'bc' ...]
def encode(message, locks=[0]):
for key in locks:
encrypted = ''
for char in message:
encrypted += library[(ord(char) + key) % 128] + " "
message = encrypted
return encrypted
【问题讨论】:
-
函数在 O(n) 时间内运行,其中 n 是消息的长度。你说的优化是什么意思?一个建议是删除声明
message = encrypted,因为它除了将原始消息替换为加密版本之外没有任何作用,如果需要也可以在返回后完成。 -
我的目标是加密加密的消息,这个语句更新已经加密的消息变量,再次加密等等。我正在努力寻找一种更好的方法来优化这个过程。
-
优化是什么意思。如果我给你一个不同的方法,你将如何确定它相对于你的最优性?
标签: python python-3.x optimization encryption