凯撒密码python作业
时间: 2023-10-14 09:06:42 浏览: 49
好的,下面是一个简单的凯撒密码加解密的Python代码:
```python
def caesar_cipher(text, shift):
result = ""
# 遍历文本中的每个字符
for char in text:
# 如果字符是大写字母
if char.isupper():
result += chr((ord(char) + shift - 65) % 26 + 65)
# 如果字符是小写字母
elif char.islower():
result += chr((ord(char) + shift - 97) % 26 + 97)
else:
result += char
return result
# 加密示例
text = "Hello, World!"
shift = 3
encrypted_text = caesar_cipher(text, shift)
print("加密后的文本:", encrypted_text)
# 解密示例
shift = -3 # 注意解密的 shift 值要与加密时相反
decrypted_text = caesar_cipher(encrypted_text, shift)
print("解密后的文本:", decrypted_text)
```
代码中,`caesar_cipher` 函数接收两个参数:要加密或解密的文本和 shift 值(即移位数)。函数返回加密或解密后的文本。
我们可以调用该函数实现加密和解密操作。对于示例中的文本 "Hello, World!",加密后的文本为 "Khoor, Zruog!",解密后的文本又变回了 "Hello, World!"。
需要注意的一点是,如果 shift 值过大,加密后的文本可能无法被正确解密。比如,如果 shift 值为 26,相当于没有加密,解密后的文本仍然是原文本。如果 shift 值为 27,相当于向右移动了一个位置,解密后的文本就不是原文本了。
阅读全文