26 lines
1.1 KiB
Python
Executable File
26 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import sys
|
|
|
|
MORSE_MAP = {'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': '--..', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.', '0': '-----'}
|
|
# Invertimos el diccionario: { '.-': 'A', ... }
|
|
REVERSE_MAP = {v: k for k, v in MORSE_MAP.items()}
|
|
|
|
def decode():
|
|
if len(sys.argv) < 2:
|
|
print("Uso: python3 morse2text.py \".... --- .-.. .-\"")
|
|
return
|
|
|
|
# El input es la cadena morse
|
|
input_morse = sys.argv[1]
|
|
palabras_morse = input_morse.split(" ") # Separamos por doble espacio
|
|
frase_final = []
|
|
|
|
for palabra in palabras_morse:
|
|
letras = [REVERSE_MAP.get(cod, "?") for cod in palabra.split(" ")]
|
|
frase_final.append("".join(letras))
|
|
|
|
print(" ".join(frase_final))
|
|
|
|
if __name__ == "__main__":
|
|
decode()
|