我的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
谢谢,但是单词之间没有空格。