通过Python编程实现摩斯密码
时间: 2024-06-01 11:06:05 浏览: 113
摩斯密码是一种将字母和数字转换成一系列点和划的编码方式,可以通过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 encrypt(message):
cipher = ''
for letter in message:
if letter != ' ':
cipher += MORSE_CODE_DICT[letter.upper()] + ' '
else:
cipher += ' '
return cipher
def decrypt(message):
message += ' '
decipher = ''
citext = ''
for letter in message:
if (letter != ' '):
i = 0
citext += letter
else:
i += 1
if i == 2:
decipher += ' '
else:
decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT.values()).index(citext)]
citext = ''
return decipher
# 示例
message = "CSDN AI助手"
result = encrypt(message)
print(result)
result2 = decrypt(result)
print(result2)
```
该程序中,我们定义了一个摩斯密码字典 `MORSE_CODE_DICT`,其中包含了每个字母和数字对应的摩斯密码。`encrypt()` 函数接受一个字符串作为参数,返回该字符串的摩斯密码形式。`decrypt()` 函数接受一个摩斯密码形式的字符串作为参数,返回该字符串的明文形式。
阅读全文