2023-07-01 11:58:00 -04:00
|
|
|
def caesar_encode(plaintext, shift)
|
2026-02-01 16:33:20 -08:00
|
|
|
uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
|
|
|
lowercase = "abcdefghijklmnopqrstuvwxyz"
|
2023-07-01 11:58:00 -04:00
|
|
|
|
2026-02-01 16:33:20 -08:00
|
|
|
cipher = ""
|
|
|
|
|
for char in plaintext
|
|
|
|
|
if char in uppercase
|
|
|
|
|
cipher += uppercase[uppercase[char] - (26 - shift)]
|
|
|
|
|
else if char in lowercase
|
|
|
|
|
cipher += lowercase[lowercase[char] - (26 - shift)]
|
|
|
|
|
else
|
|
|
|
|
cipher += char
|
|
|
|
|
end
|
|
|
|
|
end
|
2023-07-01 11:58:00 -04:00
|
|
|
|
2026-02-01 16:33:20 -08:00
|
|
|
return cipher
|
2023-07-01 11:58:00 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def caesar_decode(cipher, shift)
|
2026-02-01 16:33:20 -08:00
|
|
|
uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
|
|
|
lowercase = "abcdefghijklmnopqrstuvwxyz"
|
2023-07-01 11:58:00 -04:00
|
|
|
|
2026-02-01 16:33:20 -08:00
|
|
|
plaintext = ""
|
|
|
|
|
for char in cipher
|
|
|
|
|
if char in uppercase
|
|
|
|
|
plaintext += uppercase[uppercase[char] - shift]
|
|
|
|
|
else if char in lowercase
|
|
|
|
|
plaintext += lowercase[lowercase[char] - shift]
|
|
|
|
|
else
|
|
|
|
|
plaintext += char
|
|
|
|
|
end
|
|
|
|
|
end
|
2023-07-01 11:58:00 -04:00
|
|
|
|
2026-02-01 16:33:20 -08:00
|
|
|
return plaintext
|
2023-07-01 11:58:00 -04:00
|
|
|
end
|