1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
MORSE_CODE_DICT = { '.-': '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', '-----': '0', '.----': '1', '..---': '2', '...--': '3', '....-': '4', '.....': '5', '-....': '6', '--...': '7', '---..': '8', '----.': '9', '---...': ':', '..--..': '?', '-.-.--': '!', '.-.-.-': '.', '--..--': ',', '-....-': '-', '-..-.': '/', '.--.-.': '@', '..--.-': '_', '.-..-.': '"', '...---...': 'SOS' }
def decode_morse(morse_code): words = morse_code.strip().split(' ') decoded_message = []
for word in words: letters = word.split(' ') decoded_word = []
for letter in letters: if letter in MORSE_CODE_DICT: decoded_word.append(MORSE_CODE_DICT[letter]) else: decoded_word.append('')
decoded_message.append(''.join(decoded_word))
return ' '.join(decoded_message)
morse_input = "..--- -. -.. .--. .- .-. - --- ..-. - .... . ..-. .-.. .- --. .. ... ---... .---- ..... ..--.- ...-- ....- ..... -.-- ..--.- .-- .... ...-- -. ..--.- -.-- ----- ..- ..--.- -.- -. ----- .-- ..--.- .-- .... ...-- .-. ...-- ..--.-"
decoded_text = decode_morse(morse_input) print("Decoded Text:", decoded_text)
|