python-3.x - 用 Python 提供的密钥(随机字符)替换文本(任意长度)(排列加密)
问题描述
我应该在提供文本和密钥的情况下进行排列加密。让我们说
text = "abbdcada"
key = "dcab"
所以我必须映射这样的东西 (a,b,c,d) -> (d,c,a,b) 所以上面输入的输出应该是
output = dccbadbd
如果我有相同长度的文本和密钥,我可以轻松地做到这一点,但我无法为文本长度超过密钥长度制定逻辑。
谁能帮我lz...
解决方案
您可以使用字典进行映射。
def encrypt(text):
mapping = {'a': 'd', 'b': 'c', 'c': 'a', 'd': 'b'}
return ''.join(mapping[i] for i in text)
>>> encrypt("abbdcada")
'dccbadbd'
推荐阅读
- reactjs - h如何在react中操作数据
- python - matplotlib 中的渐变填充和颜色过渡
- uml - 如何在 UML 中表示作为多维数组的属性?
- python-3.x - Python 3 中不允许使用 urllib2 的方法
- php - Apache:错误 AH00557 和 AH00558 不会消失,PHP 无法正常工作
- c - 将结构指针初始化为空
- ajax - CodeIgniter 上的 ajax 403 错误
- python - IntelliJ Python intellisense 无法识别使用 add2virtualenv 添加到 virtualenvwrapper 的库
- c# - C# UWP“订阅值更改”
- python - Keras - 多输出模型的准确性不起作用