-->
当前位置:首页 > 题库

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

Luz4年前 (2022-06-17)题库858
在有线电话、无线语音通信技术普及前,军事和民用通信主要依赖于电报。发报方将文字按莫尔斯电码进行编码后发出,收报方则通过反向解码得到原始报文。<br>
摩尔斯电码是一种时通时断的信号代码,它通过短音和长音的不同的排列组合来表达不同的英文字母、数字和标点符号。其中,短音以“・”标记,读作滴(Di);长音以“—”标记,读作“嗒”(Da)。如果滴音的时长为t,则嗒音的时长为3t,字符间的停顿时长为3t,词间的停顿时长则为7t。<br><br>



![image.png](~/11781f64-dc1a-4fdd-a0e7-96c454cadfc1.png)


![image.png](~/9391d03e-ffd5-4258-a308-f04a820adef6.png)


### 输入格式:

编码好的Morse电文

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

### 输出格式:

明文字符串

### 输入样例:

in
--/---/.-./..././/-.-./---/-../.


### 输出样例:
out
morse code


Morse编码字典,可复制使用

python
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
"&": ".-...","'": ".----.","@": ".--.-.",")": "-.--.-","(": "-.--.",
":": "---...",",": "--..--","=": "-...-","!": "-.-.--",".": ".-.-.-",
"-": "-....-","+": ".-.-.",'"': ".-..-.","?": "..--..","/": "-..-.",
}


提示:可以通过对Morse字典的遍历生成一个反向的从编码到字符的字典。







答案:若无答案欢迎评论