我在做一个电码战练习,我应该写一个莫尔斯电码解码器。到目前为止,我已经写了以下内容:
# 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]
:相关问题 更多 >
编程相关推荐