diff --git a/ciphers/rot13.py b/ciphers/rot13.py index b367c3215..9a04c05df 100644 --- a/ciphers/rot13.py +++ b/ciphers/rot13.py @@ -1,14 +1,20 @@ -def dencrypt(s: str, n: int = 13) -> str: +def apply_rot13(s: str) -> str: """ - https://en.wikipedia.org/wiki/ROT13 + Performs a special reversible case of the Caesar cipher. + Rotates a text by 13 letters. + Also see: https://en.wikipedia.org/wiki/ROT13 + Example usage: >>> msg = "My secret bank account number is 173-52946 so don't tell anyone!!" - >>> s = dencrypt(msg) + >>> s = apply_rot13(msg) >>> s "Zl frperg onax nppbhag ahzore vf 173-52946 fb qba'g gryy nalbar!!" - >>> dencrypt(s) == msg + >>> apply_rot13(s) == msg True """ + if not isinstance(s, str): + return "The input must be a string. Please try again." + n = 13 out = "" for c in s: if "A" <= c <= "Z": @@ -21,13 +27,13 @@ def dencrypt(s: str, n: int = 13) -> str: def main() -> None: - s0 = input("Enter message: ") + s0 = input("Enter message: ").strip() - s1 = dencrypt(s0, 13) + s1 = apply_rot13(s0) print("Encryption:", s1) - s2 = dencrypt(s1, 13) - print("Decryption: ", s2) + s2 = apply_rot13(s1) + print("Decryption:", s2) if __name__ == "__main__":