In [28]:
code_to_letters = {'.-': 'a', '-...': 'b', '-.-.': 'c', '-..': 'd', '.': 'e',
                   '..-.': 'f', '--.': 'g', '....': 'h', '..': 'i', '.---': 'j',
                   '-.-': 'k', '.-..': 'l', '--': 'm', '-.': 'n', '---': 'o',
                   '.--.': 'p', '--.-': 'q', '.-.': 'r', '...': 's', '-': 't',
                   '..-': 'u', '...-': 'v', '.--': 'w', '-.--': 'y', '--..': 'z',
                   '.----': '1', '..---': '2', '...--': '3', '....-': '4',
                   '.....': '5', '-....': '6', '--...': '7', '---..': '8',
                   '----.': '9', '-----': '0', '\\': '\n', '|': ' ' }

letters_to_code = {y:x for x,y in code_to_letters.items()}

In [29]:
def encode(string):
    resp = []
    letters = list(string.lower())
    
    for letter in letters:
        resp.append(letters_to_code[letter])
    
    return ' '.join(resp)

hello_world = encode('Hello World')

hello_world


Out[29]:
'.... . .-.. .-.. --- | .-- --- .-. .-.. -..'

In [30]:
def decode(code):
    resp = []
    code = code.split(' ')
    
    for x in code:
        resp.append(code_to_letters[x])
    
    return ''.join(resp)

decode(hello_world)


Out[30]:
'hello world'

In [ ]: