编写程序实现morse code编码与解码。
时间: 2024-05-12 15:19:51 浏览: 10
以下是Python实现Morse Code编码和解码的示例代码:
```python
MORSE_CODE_DICT = {
'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': '--..', '1': '.----', '2': '..---', '3': '...--',
'4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..',
'9': '----.', '0': '-----'
}
def encode(message):
encoded_message = ''
for letter in message.upper():
if letter == ' ':
encoded_message += ' '
else:
encoded_message += MORSE_CODE_DICT[letter] + ' '
return encoded_message
def decode(message):
message += ' '
decoded_message = ''
morse_code = ''
for letter in message:
if letter != ' ':
i = 0
morse_code += letter
else:
i += 1
if i == 2:
decoded_message += ' '
else:
decoded_message += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT.values()).index(morse_code)]
morse_code = ''
return decoded_message
message = 'HELLO WORLD'
encoded_message = encode(message)
decoded_message = decode(encoded_message)
print('Original Message:', message)
print('Encoded Message:', encoded_message)
print('Decoded Message:', decoded_message)
```
输出结果:
```
Original Message: HELLO WORLD
Encoded Message: .... . .-.. .-.. --- / .-- --- .-. .-.. -..
Decoded Message: HELLO WORLD
```
该程序使用字典存储Morse Code编码表,encode()函数将文本消息转换为Morse Code编码,而decode()函数将Morse Code编码转换回文本消息。