python摩斯密码
时间: 2023-07-26 21:09:33 浏览: 360
可以使用 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(message):
encoded_message = ''
for char in message:
if char.upper() in MORSE_CODE:
encoded_message += MORSE_CODE[char.upper()] + ' '
else:
encoded_message += char
return encoded_message
def decode(message):
decoded_message = ''
words = message.split(' ')
for word in words:
chars = word.split(' ')
for char in chars:
for letter, code in MORSE_CODE.items():
if code == char:
decoded_message += letter
break
else:
decoded_message += char
decoded_message += ' '
return decoded_message.strip()
# 示例
message = 'HELLO WORLD'
encoded_message = encode(message)
print(encoded_message) # '.... . .-.. .-.. --- / .-- --- .-. .-.. -.. '
decoded_message = decode(encoded_message)
print(decoded_message) # 'HELLO WORLD'
```
在上面的代码中,我们定义了一个 Morse Code 字典,其中包含了字母、数字和一些常用符号的摩斯密码。我们提供了两个函数:`encode()` 和 `decode()`。`encode()` 函数将明文编码成摩斯密码,`decode()` 函数将摩斯密码解码成明文。在示例中,我们将字符串 `'HELLO WORLD'` 编码成 `'.... . .-.. .-.. --- / .-- --- .-. .-.. -.. '`,然后再将其解码回 `'HELLO WORLD'`。
阅读全文