ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" def caesar_enc(letter: str) -> str: if not 'A' <= letter <= 'Z': raise ValueError('Invalid letter') return ALPHABET[(ord(letter) - ord('A') + 3) % len(ALPHABET)] def caesar_enc_string(plaintext: str) -> str: ciphertext = "" for letter in plaintext: ciphertext += caesar_enc(letter) return ciphertext def main() -> None: m = "BINEATIVENIT" c = caesar_enc_string(m) print(c) if __name__ == "__main__": main()