凯撒密码在Python
假设我们有一个小写字母字符串s,偏移量为k。我们必须将s中的每个字母替换为字母中沿字母k的位置。我们必须记住,当字母溢出a或z时,它会缠绕在另一侧。
因此,如果输入类似于“hello”,k=3,则输出将为“khoor”
为了解决这个问题,我们将遵循以下步骤-
定义一个功能shift()
。这将需要c
i:=(c)的ASCII-('a')的ASCII
i:=i+k
我:=我mod26
从ASCII返回字符(ASCII('a')+i)
从主要方法中,执行以下操作-
ret:=对于s中的每个字符c,通过调用shift(c)列出元素列表
返回ret
让我们看下面的实现以更好地理解-
示例
class Solution: def solve(self, s, k): def shift(c): i = ord(c) - ord('a') i += k i %= 26 return chr(ord('a') + i) return "".join(map(shift, s)) ob = Solution()print(ob.solve("hello", 3))
输入值
"hello", 3
输出结果
khoor