头歌python摩斯密码
时间: 2024-12-12 17:13:24 浏览: 16
摩斯密码是一种通过点和划来编码字母和数字的通信方式。在Python中,我们可以编写程序来实现摩斯密码的编码和解码。以下是一个简单的Python示例,展示如何将文本转换为摩斯密码,以及如何将摩斯密码转换回文本。
```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 decode_morse(morse_code):
# 将摩斯密码按空格分割成单词
words = morse_code.split(' ')
decoded_words = []
for word in words:
# 将每个单词按空格分割成字母
letters = word.split(' ')
decoded_word = ''
for letter in letters:
for key, value in MORSE_CODE_DICT.items():
if value == letter:
decoded_word += key
break
decoded_words.append(decoded_word)
return ' '.join(decoded_words)
# 文本转摩斯密码
def encode_morse(text):
morse_code = ''
for char in text.upper():
if char == ' ':
morse_code += ' '
else:
morse_code += MORSE_CODE_DICT.get(char, '') + ' '
return morse_code.strip()
# 示例使用
if __name__ == "__main__":
text = "Hello World"
morse = encode_morse(text)
print(f"Text: {text}")
print(f"Morse: {morse}")
decoded_text = decode_morse(morse)
print(f"Decoded Text: {decoded_text}")
```
这段代码定义了一个摩斯密码字典 `MORSE_CODE_DICT`,并提供了两个函数 `encode_morse` 和 `decode_morse` 分别用于编码和解码摩斯密码。
阅读全文