如何让我的 Python 摩尔斯电码解码器在一个词被翻译后分离?

How to get my Python Morse code-decoder to separate after a word has been translated?

当我将解码器设置为 运行 时,我可以将莫尔斯码的单词翻译成普通单词,但如果我使用多个单词,它不会将这些单词分开,我该如何分开这些单词?这是我的代码:

code_dict =  {'.-...': '&', '--..--': ',', '....-': '4', '.....': '5',
     '...---...': 'SOS', '-...': 'B', '-..-': 'X', '.-.': 'R',
     '.--': 'W', '..---': '2', '.-': 'A', '..': 'I', '..-.': 'F',
     '.': 'E', '.-..': 'L', '...': 'S', '..-': 'U', '..--..': '?',
     '.----': '1', '-.-': 'K', '-..': 'D', '-....': '6', '-...-': '=',
     '---': 'O', '.--.': 'P', '.-.-.-': '.', '--': 'M', '-.': 'N',
     '....': 'H', '.----.': "'", '...-': 'V', '--...': '7', '-.-.-.': ';',
     '-....-': '-', '..--.-': '_', '-.--.-': ')', '-.-.--': '!', '--.': 'G',
     '--.-': 'Q', '--..': 'Z', '-..-.': '/', '.-.-.': '+', '-.-.': 'C', '---...': ':',
     '-.--': 'Y', '-': 'T', '.--.-.': '@', '...-..-': '$', '.---': 'J', '-----': '0',
     '----.': '9', '.-..-.': '"', '-.--.': '(', '---..': '8', '...--': '3'
     }

def decodeMorse(morseCode):
    results = []
    for item in morseCode.split(' '):
        results.append(code_dict.get(item))
    results = ''.join(results)
    return results.lower()

morseCode = input('Message: ')
print(decodeMorse(morseCode))

编辑:

hello my name is, 是:

.... . .-.. .-.. ---  -- -.--  -. .- -- .  .. ...

当我运行解码器时它给我hellomynameis,我希望它给我hello my name is

你的例子使它成为不可能。您没有在输入中提供除 space 以外的任何其他分隔符,因此您无法以任何方式划分单词。

你的解决方案是给你的输入一个单词分隔符(例如 (double space),然后用 .split(" ") 分割并循环 tru 单词。

其他解决方案可能是 nltk 库,它可能有一些特殊的功能 - 但我只是猜测。