要解决这个问题,你可以使用以下代码示例:
def caesar_cipher(text, shift):
encrypted_text = ""
for char in text:
if ord(char) >= 32 and ord(char) <= 126:
encrypted_char = chr((ord(char) - 32 + shift) % 95 + 32)
encrypted_text += encrypted_char
else:
encrypted_text += char
return encrypted_text
# 示例用法
text = "Hello World!"
shift = 3
encrypted_text = caesar_cipher(text, shift)
print(encrypted_text) # 输出: Khoor#Zruog$
# 解密函数
def caesar_decipher(text, shift):
decrypted_text = ""
for char in text:
if ord(char) >= 32 and ord(char) <= 126:
decrypted_char = chr((ord(char) - 32 - shift) % 95 + 32)
decrypted_text += decrypted_char
else:
decrypted_text += char
return decrypted_text
# 示例用法
decrypted_text = caesar_decipher(encrypted_text, shift)
print(decrypted_text) # 输出: Hello World!
在上面的代码中,caesar_cipher
函数接收要加密的文本和移位量作为输入,并返回加密后的文本。caesar_decipher
函数接收加密文本和移位量作为输入,并返回解密后的文本。
这些函数使用ASCII码中的可打印字符范围(32-126)来加密和解密字符。如果字符不在该范围内,则保持原样。移位量用于确定加密/解密时字符移动的步长。
示例中使用了"Hello World!"这个字符串,并进行了移位为3的加密和解密操作。加密后的结果是"Khoor#Zruog$",解密后的结果是"Hello World!"。
上一篇:包括具有嵌套的圆括号
下一篇:包括卡片在内的选项卡组件崩溃。