使用 Python 中的 Vigenere 密码加密字符串的程序
pythonserver side programmingprogramming更新于 2026/1/8 18:20:17
假设我们有一个小写字母字符串 text,还有另一个名为 key 的字符串。我们必须找到一个新字符串,其中 text[i] 中的每个字母都移动到右侧,偏移量为 key[i]。这里偏移量表示 key[i] 在字母表中的位置(A=0、B=1 等)。如果字母溢出,它会被包裹在另一侧。
因此,如果输入为 text = "code", key = "team",则输出为 "vsdq"
为了解决这个问题,我们将遵循以下步骤 −
- cip := a new list
- start := 'a' 的 ASCII
- 对于来自 text 的每个 l 和来自 key 的每个 k,执行
- shift := (k 的 ASCII) - start
- pos := start +((l 的 ASCII) - start + shift) mod 26
- 在 pos 末尾插入字符cip
- 连接 cip 的字符串并返回
让我们看看下面的实现以便更好地理解 −
示例
class Solution:
def solve(self, text, key):
cip = []
start = ord('a')
for l, k in zip(text, key):
shift = ord(k) - start
pos = start + (ord(l) - start + shift) % 26
cip.append(chr(pos))
return ''.join([l for l in cip])
ob = Solution()
text = "code"
key = "team"
print(ob.solve(text, key))
输入
"code", "team"
输出
vsdq
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

