# write by 2021/6/26
UPPER_DIC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
LOWER_DIC = "abcdefghijklmnopqrstuvwxyz"
def encrypt_caesar(string, offset):
ciphertext = ""
for i in string:
if i in UPPER_DIC:
new_index = (UPPER_DIC.index(i) + offset) % 26
ciphertext += UPPER_DIC[new_index]
elif i in LOWER_DIC:
new_index = (LOWER_DIC.index(i) + offset) % 26
ciphertext += LOWER_DIC[new_index]
else:
ciphertext += i
return ciphertext
def decrypt_caesar(string, offset):
return encrypt_caesar(string=string, offset=26-offset)
if __name__ == '__main__':
ciphertext = encrypt_caesar("Caesar is good!", 3)
plaintext = decrypt_caesar(ciphertext, 3)
print(f"{plaintext}: {ciphertext}")