7-10 Morse编码 - 实验20 这不是演习 - 《Python编程基础及应用实验教程》- 高教社
分数 15
全屏浏览
切换布局
作者 海洋饼干叔叔
单位 重庆大学
在有线电话、无线语音通信技术普及前,军事和民用通信主要依赖于电报。发报方将文字按莫尔斯电码进行编码后发出,收报方则通过反向解码得到原始报文。
摩尔斯电码是一种时通时断的信号代码,它通过短音和长音的不同的排列组合来表达不同的英文字母、数字和标点符号。其中,短音以“・”标记,读作滴(Di);长音以“—”标记,读作“嗒”(Da)。如果滴音的时长为t,则嗒音的时长为3t,字符间的停顿时长为3t,词间的停顿时长则为7t。
输入格式:
一行待编码的明文字符串
输出格式:
编码好的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='')
#杰小韦也是服了,题目的输入可能有大写,我****