摩斯密码(又译为摩尔斯电码,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 ━ ━ .. ls = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."] 编程要求 根据提示,在右侧编辑器补充代码,将英文句子转换成摩尔斯电码。 测试说明 平台会对你编写的代码进行测试: 测试输入: Attack on Pearl Harbor 预期输出: .---.--.-.-.- ----. .--...-.-..-.. .....-.-.-...---.-. 注意:英文句子里的大写字母先转换为小写字母再译码,不是字母的符号保持原样不变。 text = 'Attack on Pearl Harbor' print(text.lower()) # attack on pearl harbor
时间: 2025-05-27 18:25:55 浏览: 115
### Python 实现英文字符串到摩斯密码的转换函数
以下是完整的 Python 函数实现代码,能够将输入的英文字符串转换为摩斯密码。该函数支持大小写自动处理,并能保留非字母符号原样输出:
```python
def string_to_morse(text):
"""
将输入的英文字符串转换为摩斯密码。
支持大小写自动转换以及非字母符号保留原样。
"""
# 定义摩斯码字典,包含26个小写字母和部分常用标点符号
morse_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': '-----', ',': '--..--', '.': '.-.-.-', '?': '..--..', "'": '.----.',
'!': '-.-.--', '/': '-..-.', '(': '-.--.', ')': '-.--.-', '&': '.-...',
':': '---...', ';': '-.-.-.', '=': '-...-', '+': '.-.-.', '-': '-....-',
'_': '..--.-', '"': '.-..-.', '$': '...-..-', '@': '.--.-.'
}
# 统一将输入文本转为小写以适配字典键名
text = text.lower()
# 初始化结果变量
result = []
# 遍历输入文本中的每个字符
for char in text:
if char in morse_dict: # 如果字符在字典中,则替换为对应的摩斯码
result.append(morse_dict[char])
elif char == ' ': # 处理空格的情况
result.append('/') # 使用 '/' 表示单词之间的间隔
else: # 对于未定义的字符,保留原样
result.append(char)
# 返回由列表拼接而成的最终结果字符串
return ' '.join(result)
# 测试代码
if __name__ == "__main__":
user_input = input("请输入要转换为摩斯密码的英文字符串:\n").strip()
print(string_to_morse(user_input))
```
#### 功能详解
1. **摩斯码字典构建**
创建了一个名为 `morse_dict` 的字典,其中包含了从小写字母到数字再到一些常见标点符号的映射关系[^1]。
2. **大小写兼容性**
利用 `.lower()` 方法将所有输入字符统一转换为小写形式,从而简化了后续查找逻辑[^3]。
3. **特殊字符处理**
当遇到不在字典内的字符时(如某些罕见符号),这些字符会被直接加入到结果中而不做任何修改[^2]。
4. **空格分隔符**
单词间通常通过单个空格区分,在这里采用斜杠 `/` 来代表这种间隙[^1]。
---
### 示例运行效果
假如用户输入以下内容:
```
Hello, World! 123.
```
那么程序将会输出如下结果:
```
.... . .-.. .-.. --- --..-- / .-- --- .-. .-.. -.. -.-.-- / .---- ..--- ...-- .-.-.-
```
---
阅读全文
相关推荐
















