From b05c7b35a120581217fa3ab5b0cd1bfd1aa32998 Mon Sep 17 00:00:00 2001 From: refeahcs00 Date: Thu, 12 Feb 2026 23:57:40 -0500 Subject: [PATCH 1/2] simple morse code translator --- translate.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 translate.py diff --git a/translate.py b/translate.py new file mode 100644 index 0000000..a318358 --- /dev/null +++ b/translate.py @@ -0,0 +1,41 @@ +import re + +pattern = re.compile(r"^[\.-]+(\|\|[\.-]+)*(\|\|\|\|[\.-]+(\|\|[\.-]+)*)*$") + +alpha = { + ".-": "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", + "||": "", + "": " ", +} + + +def translate(code: str): + if not bool(pattern.match(code)): + raise Exception("Invalid Morse Code!") + + return "".join(alpha.get(x, f" UNK {x} ") for x in code.split("||")) From ecb71d6845dc31e473c368aedf040a85c0c640b6 Mon Sep 17 00:00:00 2001 From: refeahcs00 Date: Fri, 13 Feb 2026 00:02:08 -0500 Subject: [PATCH 2/2] removed debug statement --- translate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translate.py b/translate.py index a318358..e108660 100644 --- a/translate.py +++ b/translate.py @@ -38,4 +38,4 @@ def translate(code: str): if not bool(pattern.match(code)): raise Exception("Invalid Morse Code!") - return "".join(alpha.get(x, f" UNK {x} ") for x in code.split("||")) + return "".join(alpha[x] for x in code.split("||"))