题目描述 为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移offset位后被替换成密文,当offset大于零时,表示向后偏移;当offset小于零时,表示向前偏移。 输入 第一行输入需要进行的解密/加密操作,0表示解密,1表示加密 第二行给出一个以回车结束的非空字符串(少于80个字符) (密文或明文) 第三行输入一个整数offset。 输出 输出加密/解密后的结果字符串。
时间: 2024-03-10 08:45:35 浏览: 65
我可以帮你解决这个问题。以下是一个Python的实现:
```python
operation = int(input()) # 获取加密或解密操作
string = input().strip() # 获取需要加密或解密的字符串
offset = int(input()) # 获取偏移量
if operation == 1: # 加密操作
result = ''
for char in string:
if char.isalpha(): # 只对字母进行加密
if char.islower():
result += chr((ord(char) - 97 + offset) % 26 + 97)
else:
result += chr((ord(char) - 65 + offset) % 26 + 65)
else:
result += char
print(result)
elif operation == 0: # 解密操作
result = ''
for char in string:
if char.isalpha(): # 只对字母进行解密
if char.islower():
result += chr((ord(char) - 97 - offset) % 26 + 97)
else:
result += chr((ord(char) - 65 - offset) % 26 + 65)
else:
result += char
print(result)
else:
print("无效操作")
```
你可以将这段代码复制到Python解释器中运行,并按照提示输入相应的信息即可。
阅读全文