假设用户可能使用的输入包含大小写字母a~zA~Z、空格和特殊符号,请编写一个程序,对输入字符串进行恺撒密码加密或者解密,直接输出结果,其中空格不用进行加密或者处理。使用input()获得输入。
时间: 2023-06-16 16:07:49 浏览: 222
凯撒密码,帮你加密的程序or解密的程序
5星 · 资源好评率100%
好的,我可以帮你编写这个程序。以下是Python代码实现恺撒密码的加密和解密功能:
```python
def caesar_cipher(text, shift, action):
# 定义字母表
alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
# 初始化加密/解密结果字符串
result = ''
# 处理每个字符
for char in text:
# 如果是空格则直接加入结果
if char == ' ':
result += ' '
# 如果是字母则进行加密/解密
elif char in alphabet:
# 获取字母在字母表中的位置
index = alphabet.index(char)
# 根据加密/解密操作进行位移
if action == 'encrypt':
new_index = (index + shift) % 52
elif action == 'decrypt':
new_index = (index - shift) % 52
# 将新位置对应的字母加入结果
new_char = alphabet[new_index]
result += new_char
# 如果是其他符号则直接加入结果
else:
result += char
return result
# 获取用户输入
text = input('请输入要加密/解密的字符串:')
shift = int(input('请输入位移数:'))
action = input('请输入操作(encrypt加密/decrypt解密):')
# 调用恺撒密码函数并输出结果
result = caesar_cipher(text, shift, action)
print(result)
```
这个程序会要求用户输入要加密/解密的字符串、位移数以及操作类型(加密/解密)。然后程序会根据用户输入的信息进行恺撒密码的加密/解密操作,并输出结果。
阅读全文