用Python语言设计凯撒加密消息编码方式,将字母移动常量位K。用户输入明文字符串,系统输出凯撒加密后的密文。例如设置常量K=3,输入字符串abcABZ, 输出凯撒加密后:defDEC。
时间: 2024-10-18 09:08:42 浏览: 19
在Python中,我们可以使用简单的循环和字符索引来实现凯撒加密。以下是一个函数,它接受用户的输入(明文字符串和位移值K),并返回加密后的密文:
```python
def caesar_cipher(text, shift):
encrypted_text = ""
for char in text.upper(): # 将所有字符转换为大写处理,便于统一
if char.isalpha(): # 检查是否为字母
shifted_char = chr((ord(char) - ord('A') + shift) % 26 + ord('A')) # 加密
if char.islower():
encrypted_text += shifted_char.lower() # 如果原字符是小写字母,则保持大小写
else:
encrypted_text += shifted_char
else:
encrypted_text += char # 非字母字符不做加密,直接保留
return encrypted_text
# 用户输入示例
text = input("请输入明文字符串 (只包含英文字母): ")
shift = int(input("请输入位移值 K: "))
encrypted_text = caesar_cipher(text, shift)
print(f"加密后的密文: {encrypted_text}")
阅读全文