我正在写一个小脚本,将摩尔斯电码转换成纯文本
例如:
"···· · −·−− ·−−− ··− −·· ·"
将返回"HEYJUDE"
。但是,我希望它是"HEY JUDE"
,在两个单词之间有一个空格
在"HEY"
和"JUDE"
的莫尔斯电码之间有3个空格,我认为.split()
在这里帮不了我。你能给我一个指针吗
def decodeMorse(morse_code):
morseDict = {".-" : "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"
}
cipher = morse_code.split(" ")
plain = []
for n in cipher:
plain.append(morseDict[n])
plain = "".join(plain)
return plain
也许你可以分两步,第一步是
一个字一个字地解码,然后解码每个字,在这两个字之间加上你想要的空格
如果您的输入看起来像这样,您可以先将它们按三倍空间分割,然后分别迭代每个单词
在
decodeMorse()
的第一行,您可以将3个相邻空格中的中间空格替换为任何不同的字符:然后将这个字符添加到
morseDict
代码的其余部分不需要修改
相关问题 更多 >
编程相关推荐