1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| def caesar_cipher(text, shift, mode='encrypt'): """ 实现凯撒密码的加密或解密。
参数: text : str 需要加密或解密的文本。 shift : int 字符移动的位置数。 mode : str, 可选 操作模式,'encrypt' 为加密,'decrypt' 为解密,默认为 'encrypt'。
返回: str 加密或解密后的文本。 """ result = "" if mode == 'decrypt': shift = -shift for char in text: if char.isalpha(): start = ord('a') if char.islower() else ord('A') offset = (ord(char) - start + shift) % 26 result += chr(start + offset) else: result += char return result
text = input("")
shift = int(input(""))
encrypted_text = caesar_cipher(text, shift) print("Encrypted:", encrypted_text)
decrypted_text = caesar_cipher(encrypted_text, shift, mode='decrypt') print("Decrypted:", decrypted_text)
|