编写函数,实现凯撒加密算法,从键盘输入字符串(明文)和秘钥k,输出加密后的字符串,其中k为每个英文字母在字母表中后面的第k个字母,字母表首尾循环相接。
时间: 2024-03-11 15:50:57 浏览: 84
凯撒加密实现
好的,以下是实现凯撒加密算法的 Python 函数:
```python
def caesar_encrypt(plain_text, k):
cipher_text = ""
for char in plain_text:
if char.isalpha():
base = 65 if char.isupper() else 97
cipher_text += chr((ord(char) - base + k) % 26 + base)
else:
cipher_text += char
return cipher_text
```
函数接受两个参数,分别是明文和秘钥k。在循环中,我们逐个遍历明文中的字符,如果是英文字母,就计算出其加密后的字符,并将其添加到密文中。如果不是英文字母,就直接将其添加到密文中。最后,返回加密后的密文。
注意,上面代码中的 `65` 和 `97` 分别表示大写字母和小写字母在 ASCII 码表中的起始位置。在计算加密后的字符时,我们需要根据原字符的大小写来选择相应的起始位置。同时,将加密后的字符的 ASCII 码表值转换为字符时,需要加上相应的起始位置,以便得到正确的字符。
阅读全文