Created
March 11, 2020 14:32
-
-
Save CartfordSam/052ec6e5025d4dd11f0e9f266a002d63 to your computer and use it in GitHub Desktop.
Translates letters and punctuation to and from morse code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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