Skip to content

Instantly share code, notes, and snippets.

@CartfordSam
Created March 11, 2020 14:32
Show Gist options
  • Save CartfordSam/052ec6e5025d4dd11f0e9f266a002d63 to your computer and use it in GitHub Desktop.
Save CartfordSam/052ec6e5025d4dd11f0e9f266a002d63 to your computer and use it in GitHub Desktop.
Translates letters and punctuation to and from morse code
ltom = {
"A" : ".-",
"B" : "-...",
"C" : "-.-.",
"D" : "-..",
"E" : ".",
"F" : "..-.",
"G" : "--.",
"H" : "....",
"I" : "..",
"J" : ".---",
"K" : "-.-",
"L" : ".-..",
"M" : "--",
"N" : "-.",
"O" : "---",
"P" : ".--.",
"Q" : "--.-",
"R" : ".-.",
"S" : "...",
"T" : "-",
"U" : "..-",
"V" : "...-",
"W" : ".--",
"X" : "-..-",
"Y" : "-.--",
"Z" : "--..",
" " : "/",
"." : ".-.-.-",
"," : "--..--",
":" : "---...",
"?" : "..--..",
"'" : ".----.",
"-" : "-....-",
"/" : "-..-.",
"@" : ".--.-.",
"=" : "-...-"
}
mtol = dict((v,k) for (k,v) in ltom.items())
def translate_mtol(morse):
# Translate morse to letters
translated = ''
for seq in morse.split(' '):
translated += mtol[seq]
return translated
def translate_ltom(letters):
# That's right, letters to morse
translated = ''
for letter in letters[:-1]:
translated += ltom[letter] + ' '
translated += ltom[letters[-1]]
return translated
if __name__ == "__main__":
test_string = 'SOS BITCHES'
a = translate_ltom(test_string)
b = translate_mtol(a)
assert(test_string == b)
print("See, it even works")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment