python摩斯电码与字母转化
时间: 2023-11-04 18:15:01 浏览: 57
可以使用字典来实现摩斯电码和字母之间的转换。以下是一个简单的实现示例:
```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': '--..'}
# 定义字母摩斯电码转化函数
def text_to_morse_code(text):
morse_code = ''
for char in text.upper():
if char != ' ':
morse_code += MORSE_CODE_DICT[char] + ' '
else:
morse_code += ' '
return morse_code
# 定义摩斯电码字母转化函数
def morse_code_to_text(morse_code):
inv_morse_dict = {v: k for k, v in MORSE_CODE_DICT.items()}
morse_code += ' ' # 为了处理最后一个字符
text = ''
code = ''
for char in morse_code:
if char != ' ':
code += char
else:
text += inv_morse_dict.get(code, '')
code = ''
return text
```
使用示例:
```python
>>> text_to_morse_code('SOS')
'... --- ... '
>>> morse_code_to_text('... --- ... ')
'SOS'
```
注意,为了方便处理,上述实现中将空格字符转换成了一个空格,因此转换后的摩斯电码中也会包含空格。