commit: cb2cf1b6ae8552c961e0526c70f400c4a93875ce
parent: e9d102899cc50fc41a366284579302740542a8da
Author: lanodan <lanodan.delta@free.fr>
Date: Sat, 14 Mar 2015 23:37:38 +0100
For the luv of morse
Diffstat:
A | python/morse.py | 79 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 79 insertions(+), 0 deletions(-)
diff --git a/python/morse.py b/python/morse.py
@@ -0,0 +1,79 @@
+def toMorseArray(s):
+ """Return a list of the patterns to use for s."""
+ return [lookup[c] for c in s.upper()]
+
+def toMorseString(s):
+ out = ' '
+ for c in s.upper():
+ try:
+ out = str(out + lookup[c] + ' ')
+ except KeyError:
+ print('[Error] KeyError')
+ return out
+
+def fromMorse(s):
+ out = ' '
+ for c in s.split(' '):
+ try:
+ out = str(out + inv_lookup[c])
+ except KeyError:
+ print('[Error] KeyError')
+ return out
+
+lookup = {'!': '-.-.--',
+ "'": '.----.',
+ '"': '.-..-.',
+ '$': '...-..-',
+ '&': '.-...',
+ '(': '-.--.',
+ ')': '-.--.-',
+ '+': '.-.-.',
+ ',': '--..--',
+ '-': '-....-',
+ '.': '.-.-.-',
+ '/': '-..-.',
+ '0': '-----',
+ '1': '.----',
+ '2': '..---',
+ '3': '...--',
+ '4': '....-',
+ '5': '.....',
+ '6': '-....',
+ '7': '--...',
+ '8': '---..',
+ '9': '----.',
+ ':': '---...',
+ ';': '-.-.-.',
+ '=': '-...-',
+ '?': '..--..',
+ '@': '.--.-.',
+ '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': '--..',
+ '_': '..--.-',
+ ' ': ' ',
+ }
+inv_lookup = {lookup[k] : k for k in lookup}