📅  最后修改于: 2023-12-03 14:46:40.837000             🧑  作者: Mango
摩尔斯电码是一种用点(.)和划线(-)表示字母、数字和标点符号的编码方式。Python中我们可以编写一个简单的摩尔斯电码翻译器来将普通文本转换为摩尔斯电码,或者将摩尔斯电码转换为普通文本。
下面是一个使用Python编写的摩尔斯电码翻译器的示例代码:
# 摩尔斯电码字母表
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': '--..',
'0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....',
'7': '--...', '8': '---..', '9': '----.',
'.': '.-.-.-', ',': '--..--', '?': '..--..', "'": '.----.', '!': '-.-.--', '/': '-..-.', '(': '-.--.',
')': '-.--.-', '&': '.-...', ':': '---...', ';': '-.-.-.', '=': '-...-', '+': '.-.-.', '-': '-....-',
'_': '..--.-', '"': '.-..-.', '$': '...-..-', '@': '.--.-.', ' ': '/'
}
def encode_morse_code(text):
text = text.upper()
morse_code_text = ''
for char in text:
if char in morse_code:
morse_code_text += morse_code[char] + ' '
return morse_code_text.strip()
def decode_morse_code(morse_code_text):
text = ''
morse_code_text = morse_code_text.split(' ')
for code in morse_code_text:
for char, morse in morse_code.items():
if code == morse:
text += char
break
return text
# 测试
text = 'Hello World'
morse_code_text = encode_morse_code(text)
decoded_text = decode_morse_code(morse_code_text)
print('输入文本:', text)
print('摩尔斯电码:', morse_code_text)
print('解码后文本:', decoded_text)
morse_code
字典,其中包含了所有字母、数字和标点符号的摩尔斯电码对应关系。encode_morse_code
函数接受一个普通文本作为输入,并将其转换为摩尔斯电码。decode_morse_code
函数接受一个摩尔斯电码作为输入,并将其转换为普通文本。encode_morse_code
函数将普通文本转换为摩尔斯电码,并通过调用decode_morse_code
函数将摩尔斯电码转换为普通文本。'Hello World'
作为输入,并将其转换为摩尔斯电码。然后再将摩尔斯电码解码为普通文本。代码中的print
语句将会输出如下结果:
输入文本: Hello World
摩尔斯电码: .... . .-.. .-.. --- / .-- --- .-. .-.. -..
解码后文本: HELLO WORLD
以上是一个简单的摩尔斯电码翻译器的介绍,你可以根据自己的需求进行扩展和优化。