DevastatingRPG

[2018-03-26] Challenge #355 [Easy] Alphabet Cipher

May 12th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. import string
  2. alphabet = string.ascii_lowercase
  3. substitution = {letter: {let: alphabet[alphabet.index(let) - (26 - alphabet.index(letter))] for let in alphabet} for
  4.                 letter in alphabet}
  5. substitution_reverse = {letter: {alphabet[alphabet.index(let) - (26 - alphabet.index(letter))]: let for let in alphabet}
  6.                         for letter in alphabet}
  7.  
  8.  
  9. def encode(keyword, message):
  10.     result = ""
  11.     for index in range(len(message)):
  12.         result += substitution[keyword[index % len(keyword)]][message[index]]
  13.     print(result)
  14.  
  15.  
  16. def decode(keyword, message):
  17.     result = ""
  18.     for index in range(len(message)):
  19.         result += substitution_reverse[keyword[index % len(keyword)]][message[index]]
  20.     print(result)
  21.  
  22.  
  23. encode('snitch', 'thepackagehasbeendelivered')
  24. encode('bond', 'theredfoxtrotsquietlyatmidnight')
  25. encode('train', 'murderontheorientexpress')
  26. encode('garden', 'themolessnuckintothegardenlastnight')
  27. decode('cloak', 'klatrgafedvtssdwywcyty')
  28. decode('python', 'pjphmfamhrcaifxifvvfmzwqtmyswst')
  29. decode('moore', 'rcfpsgfspiecbcc')
Add Comment
Please, Sign In to add comment