Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的python摩尔斯电码解码器在输入SOS时中断_Python_Morse Code - Fatal编程技术网

我的python摩尔斯电码解码器在输入SOS时中断

我的python摩尔斯电码解码器在输入SOS时中断,python,morse-code,Python,Morse Code,我在做一个电码战练习,我应该写一个莫尔斯电码解码器。到目前为止,我已经写了以下内容: # ToDo: Accept dots, dashes and spaces, return human-readable message podzielone = morse_code.split(' ') alfabetmorsa = {'.-':'A', '-...':'B', '-.-.':'C', '-..':'D', '.':'E', '..-.':'F', ' ':' ',

我在做一个电码战练习,我应该写一个莫尔斯电码解码器。到目前为止,我已经写了以下内容:

    # ToDo: Accept dots, dashes and spaces, return human-readable message
    podzielone = morse_code.split(' ')
    alfabetmorsa = {'.-':'A', '-...':'B', '-.-.':'C', '-..':'D', '.':'E', '..-.':'F', ' ':' ', '--.':'G', '....':'H', '..':'I', '.---':'J', '-.-':'K', '.-..':'L', '--':'M', '-.':'N', '---':'O', '.--.':'P', '.-.':'R', '...':'S', '-':'T', '..-':'U', '...-':'V', '-..-':'X', '-.--':'Y', '--..':'Z', '...---...':'SOS'}
    wynikz = [alfabetmorsa.get(n, n) for n in podzielone]
    wynik = ' '.join(wynikz)
    wynik = wynik.replace('', '')[::2]
    return wynik

程序应该将SOS(
…--…
)识别为一个单独的字符,但它会使O在输出中消失。如果我从第二行到最后一行删除
[::2]
,SOS可以工作,但每个字母都用空格隔开。我怎样才能做到这一点呢?

您可以在空字符串上进行连接,而不是在空格上进行连接,并摆脱
[::2]
:

def摩尔斯电码到文本(摩尔斯电码):
podzielone=莫尔斯电码分割(“”)
在这些方面,他们的...........................................................................................................................................................................................................................................“,”-…-“:“X”,“-.-”:“Y”,“-…”:“Z”,“…-…”:“SOS”}
wynikz=[alfabetmorsa.get(n,n)表示podzielone中的n]
#现在是“”。加入()
wynik=''.join(wynikz)
#不再需要[::2]
返回wynik

谢谢,但是单词之间没有空格。