使用 Python 程序实现摩斯密码翻译器

实现摩斯密码翻译器的 Python 程序 '''
VARIABLE KEY
'cipher' -> '存储英文字符串的摩斯翻译形式'
'decipher' -> '存储摩斯字符串的英文翻译形式'
'citext' -> '存储单个字符的摩斯密码'
'i' -> '计算摩斯字符之间的空格'
'message' -> '存储要编码或解码的字符串
'''
表示摩斯密码图的字典 【使用 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: # 1个空格表示不同的字符 # 2表示不同的词 cipher += ' ' return cipher

将字符串从摩斯解密为英文的函数 def decrypt(message):
# 在末尾添加额外空间以访问最后一个摩斯密码 message += ' ' decipher = '' citext = '' for letter in message: # 检查空间 if (letter != ' '): # 计数器来跟踪空间 i = 0 # [贝宝](https://www.gendan5.com/wallet/PayPal.html)在空格的情况下 citext += letter # 在空间的情况下 else: # 如果 i = 1 表示一个新字符 i += 1 # 如果 i = 2 表示一个新词 if i == 2 : # 添加空格来分隔单词 decipher += ' ' else: # 使用它们的值访问密钥(加密的反向) decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT .values()).index(citext)] citext = '' return decipher

硬编码驱动函数来运行程序 def main():
message = "JUEJIN-HAIYONG" result = encrypt(message.upper()) print (result) message = ".--- ..- . .--- .. -. -....- .... .- .. -.-- --- -. --." result = decrypt(message) print (result) message = "I LOVE YOU" result = encrypt(message.upper()) print (result) message = "...-.. --- ...- .-.-- --- ..-" result = decrypt(message) print (result)

执行主函数 if name == '__main__':
main()

输出:
.--- ..- . .--- .. -. -....- .... .- .. -.-- --- -. --.
JUEJIN-HAIYONG
.. .-.. --- ...- . -.-- --- ..-
I LOVE YOU

    推荐阅读