任务描述
摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。
编写程序,把输入的英文句子转换成摩尔斯电码并输出电码字符串。
本题只需要对英文字母(不区分大小写)进行编码转换,其他字符原样输出。
下面列表中为26个英文字母对应的摩尔斯电码。
['.-', '-...', '-.-.', '-..', '.', '..-.', '--.', '....', '..', '.---', '-.-', '.-..', '--', '-.', '---', '.--.', '--.-', '.-.', '...', '-', '..-', '...-', '.--', '-..-', '-.--', '--..']
示例 1
输入: How are you?
输出:....---.-- .-.-.. -.-----..-?
平均代码量 11 行
morse_code = {
'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': '--.'
}
def morse_encode(text):
morse_str = ""
for char in text:
if char.upper() in morse_code:
morse_str += morse_code[char.upper()]
else:
morse_str += char
return morse_str.rstrip()
text = input()
morse_str = morse_encode(text)
print(morse_str)