python摩斯密码
时间: 2023-07-26 07:14:14 浏览: 54
以下是一个简单的Python Morse Code编码和解码程序:
```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] + ' '
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 = "SOS"
result = encrypt(message.upper())
print(f"原文: {message}")
print(f"编码: {result}")
result = decrypt(result)
print(f"解码: {result}")
```
运行上述代码会输出以下结果:
```
原文: SOS
编码: ... --- ...
解码: SOS
```
注意:本程序中只针对大写字母进行编码和解码,如果需要支持小写字母和其他字符,可以根据需要修改 `MORSE_CODE_DICT` 字典。