摩斯密码加解密python
时间: 2024-05-30 18:06:25 浏览: 140
摩尔斯电码(Morse Code)是一种用于传输电报的编码方式,它是由美国画家塞缪尔·F·B·摩尔斯于1835年发明的。摩尔斯电码的特点是简单易学,适用于不同语言,因此在无线电通讯和求救信号等方面得到了广泛的应用。
下面是一个简单的 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(message):
cipher = ''
for letter in message:
if letter != ' ':
cipher += MORSE_CODE_DICT[letter] + ' '
else:
cipher += ' '
return cipher
message = input("请输入要加密的信息:")
result = encrypt_message(message.upper())
print("加密后的结果为:", result)
```
解密摩尔斯电码:
```
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 decrypt_message(message):
message += ' '
decipher = ''
citext = ''
for letter in message:
if (letter != '-' and letter != '.' and letter !=' '):
return "无效的输入"
if letter == ' ':
decipher += MORSE_CODE_DICT[citext]
citext = ''
else:
citext += letter
return decipher
message = input("请输入要解密的信息:")
result = decrypt_message(message)
print("解密后的结果为:", result)
```
希望能对你有所帮助!
阅读全文