7-10 Morse编码 - 实验20 这不是演习 - 《Python编程基础及应用实验教程》- 高教社

7-10 Morse编码 - 实验20 这不是演习 - 《Python编程基础及应用实验教程》- 高教社

分数 15

全屏浏览

切换布局

作者 海洋饼干叔叔

单位 重庆大学

在有线电话、无线语音通信技术普及前,军事和民用通信主要依赖于电报。发报方将文字按莫尔斯电码进行编码后发出,收报方则通过反向解码得到原始报文。

摩尔斯电码是一种时通时断的信号代码,它通过短音和长音的不同的排列组合来表达不同的英文字母、数字和标点符号。其中,短音以“・”标记,读作滴(Di);长音以“—”标记,读作“嗒”(Da)。如果滴音的时长为t,则嗒音的时长为3t,字符间的停顿时长为3t,词间的停顿时长则为7t。

image.png

image.png

输入格式:

一行待编码的明文字符串

输出格式:

编码好的Morse电文

说明:用/表示字符间隔,用//表示单词间隔

输入样例:

morse code

输出样例:

--/---/.-./..././/-.-./---/-../.

答案:

morse = {
    # Letters
    "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": "--..",
    # Numbers
    "0": "-----","1": ".----","2": "..---","3": "...--","4": "....-",
    "5": ".....","6": "-....","7": "--...","8": "---..","9": "----.",
    # Punctuation
    "&": ".-...","'": ".----.","@": ".--.-.",")": "-.--.-","(": "-.--.",
    ":": "---...",",": "--..--","=": "-...-","!": "-.-.--",".": ".-.-.-",
    "-": "-....-","+": ".-.-.",'"': ".-..-.","?": "..--..","/": "-..-.",
}
s=input()
s=s.lower()
s_list=s.split()
for i in range(len(s_list)):
    for j in range(len(s_list[i])):
        if s_list[i][j] in morse:
            print(morse[s_list[i][j]],end='')
        if j<len(s_list[i])-1:
            print('/',end='')
    if i<len(s_list)-1:
        print('//',end='')
#杰小韦也是服了,题目的输入可能有大写,我**** 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值