莫尔斯电码采用了短脉冲和长脉冲(分别为点和点划线)来编码字母和数字。例如,字母A是点划线,B是划线点点点。如下图所示 (1)创建字典,将字符映射到莫尔斯电码。 (2)输入一段英文,翻译成莫尔斯电文
时间: 2024-03-08 18:51:21 浏览: 188
好的,下面是一个 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': '--..',
'0': '-----', '1': '.----', '2': '..---', '3': '...--',
'4': '....-', '5': '.....', '6': '-....', '7': '--...',
'8': '---..', '9': '----.'
}
def english_to_morse_code(text):
morse_code = ''
for char in text:
if char.upper() in morse_code_dict:
morse_code += morse_code_dict[char.upper()] + ' '
elif char == ' ':
morse_code += '/ '
return morse_code
# 测试代码
text = 'Hello, World!'
morse_code = english_to_morse_code(text)
print(morse_code)
```
代码解释:
首先,我们用一个字典 `morse_code_dict` 来存储莫尔斯电码与字母数字之间的映射关系。然后,我们定义了一个函数 `english_to_morse_code`,它接受一个英文字符串作为输入,并返回相应的莫尔斯电文。在函数中,我们遍历输入字符串中的每个字符,并查找该字符对应的莫尔斯电码。如果该字符是字母或数字,则从字典中查找相应的莫尔斯电码并添加到结果字符串中。如果该字符是空格,则在结果字符串中添加一个斜杠和一个空格。最后返回结果字符串。
运行代码,输入字符串 `Hello, World!`,输出的莫尔斯电文为:
```
.... . .-.. .-.. --- --..-- / .-- --- .-. .-.. -.. -.-.--
```
阅读全文