Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.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 用字符串替换法解码莫尔斯编码器_Python - Fatal编程技术网

Python 用字符串替换法解码莫尔斯编码器

Python 用字符串替换法解码莫尔斯编码器,python,Python,例如,每当我键入“…..-”时,它会将每个“.”替换为字母E。它应该给我HEY,但我得到“EEEE E TAT” 任何帮助,谢谢 您需要将每个字母分开。和另一个角色。所以TED应该是,“-。-…”然后使用split来拆分每个字母或-s和-s的sting。然后替换每个字母。要进行背靠背单词,您需要将其拆分为二维列表。即句子“AC BA CA”->[['.-','-.-.'],['-.','.-'],['-.-.-'],['-.-.-.,'.-']] 然后您将使用此方法,但对于外部单元格中的每个项目

例如,每当我键入“…..-”时,它会将每个“.”替换为字母E。它应该给我HEY,但我得到“EEEE E TAT”
任何帮助,谢谢

您需要将每个字母分开。和另一个角色。所以TED应该是,“-。-…”然后使用split来拆分每个字母或-s和-s的sting。然后替换每个字母。要进行背靠背单词,您需要将其拆分为二维列表。即句子“AC BA CA”->[['.-','-.-.'],['-.','.-'],['-.-.-'],['-.-.-.,'.-']] 然后您将使用此方法,但对于外部单元格中的每个项目,请在字符串中添加空格

    def decodeMorse(morseCode):
x = morseCode.replace(".-", "A")
x2 = x.replace("-...","B")
x = x2.replace("-.-.", "C")
x2 = x.replace("-..", "D")
x = x2.replace(".", "E")
x2 = x.replace("..-.", "F")
x = x2.replace("..-.", "G")
x2 = x.replace("....", "H")
x = x2.replace("..", "I")
x2 = x.replace(".---", "J")
x = x2.replace("-.-", "K")
x2 = x.replace(".-..", "L")
x = x2.replace("--", "M")
x2 = x.replace("-.", "N")
x = x2.replace("---", "O")
x2 = x.replace(".--.", "P")
x = x2.replace("--.-", "Q")
x2 = x.replace(".-.", "R")
x = x2.replace("...", "S")
x2 = x.replace("-", "T")
x = x2.replace("..-", "U")
x2 = x.replace("...-", "V")
x = x2.replace(".--", "W")
x2 = x.replace("-..-", "X")
x = x2.replace("-.--", "Y")
x2 = x.replace("--..", "Z")
x = x2.replace(" ", " ")
print(x)

在你的位置上,我将首先使用空格作为sep拆分字符串,然后使用字典进行替换。
def cnvtletter(code):
    if(code==".-"):
        return 'A'
    if(code=="-..."):
        return 'B'
    if(code=="-.-."):
        return 'C'

word= '.-|-.-.|-...'
delimiter='|'
letters=word.split(delimiter)
out=''
for letter in letters:
    out+=cnvtletter(letter)
print out