alphabet = "abcdefghijklmnopqrstuvwxyz" def substitute(text, plain, cipher): result = "" for ch in text: if ch in plain: result += cipher[plain.find(ch)] else: result += ch return result #cdfghijklmnopqstuvwxyzebra #abcdefghijklmnopqrstuvwxyz def make_phrase(phrase): result = alphabet for ch in phrase: result = result.replace(ch, "") return phrase + result cipher = make_phrase("zebra") phrase = "we are the knights who say ni!" print(phrase) ciphertext = substitute(phrase, alphabet, cipher) print(ciphertext) plaintext = substitute(ciphertext, cipher, alphabet) print(plaintext)