python程序:使用摩斯电码解密机密消息

2021年09月13日 867点热度 0人点赞 0条评论

#请在def morse_decoder(code)中完成代码,请不要修改其他地方!
#代码编辑完成后,点击“运行”按钮,在屏幕左下方显示程序运行结果
#实现题目要求后,点击“校验结果”按钮,在屏幕右下方会出现校验结果,如通过的话,将会进入下一关。
MORSE = {  '.-':    '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', '-----': '0',
         '.----': '1', '..---': '2', '...--': '3',
         '....-': '4', '.....': '5', '-....': '6',
         '--...': '7', '---..': '8', '----.': '9'
      }
def morse_decoder(code):
    str1 = code
    WORD = str1.split('   ')
    m = ''
    for word in WORD:
        LETTER = word.split(' ')
        s = ''
        for letter in LETTER:
            s = s + MORSE.get(letter)
        m = m + ' ' + s
    code = m[1].upper()+m[2:len(m)]
    return code
if __name__ == '__main__':
    print("Example:")
    print(morse_decoder('... --- ...'))
    #These "asserts" using only for self-checking and not necessary for auto-testing
    assert morse_decoder("... --- -- .   - . -..- -") == "Some text"
    assert morse_decoder("..--- ----- .---- ---..") == "2018"
    assert morse_decoder(".. -   .-- .- ...   .-   --. --- --- -..   -.. .- -.--") == "It was a good day"
    # print (xy(".. -   .-- .- ...   .-   --. --- --- -..   -.. .- -.--"))
#     任务:使用摩斯电码解密机密消息。
# 条件:该消息将由单词组成,单词之间有3个空格,每个单词的每个字母之间有1个空格。
# 如果解密后的文本以字母开头,则以大写字母输出。
# 输入:加密的信息,摩斯电码表(已定义在字典MORSE中,无需修改)
# 输出:解密的文字(仅仅由英语字母和数字组成)
# 例子:
# morse_decoder("... --- -- . - . -..- -") == "Some text"
# morse_decoder("..--- ----- .---- ---..") == "2018"
# morse_decoder(".. - .-- .- ... .- --. --- --- -.. -.. .- -.--") == "It was a good day"

Subbear

保持饥渴的专注,追求最佳的品质

文章评论