python摩斯密码
时间: 2023-07-26 14:13:56 浏览: 157
以下是一个简单的 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] + ' '
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
```
可以使用 `encrypt` 函数将明文转换为摩斯密码,使用 `decrypt` 函数将摩斯密码转换为明文。例如:
```python
message = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
cipher = encrypt(message)
print(cipher) # - .... . / --.- ..- .. -.-. -.- / -... .-. --- .-- -. / ..-. --- -..- / .--- ..- -- .--. ... / --- ...- . .-. / - .... . / .-.. .- --.. -.-- / -.. --- --.
decipher = decrypt(cipher)
print(decipher) # THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
```
阅读全文