11行Python代码实现解密摩斯密码

您所在的位置:网站首页 00100摩斯密码 11行Python代码实现解密摩斯密码

11行Python代码实现解密摩斯密码

2024-07-08 04:12| 来源: 网络整理| 查看: 265

下面是详细的攻略:

1.了解摩斯密码

摩斯密码是一种用点(·)和线(–)作为符号,用于传输字母、数字和标点符号的电报代码。点和线的不同排列组合代表不同的字符。例如,字母A的摩斯码是·—,字母B的摩斯码是—···。

2.理解代码思路

这段Python代码使用了一个字典来存储每个字符所对应的摩斯码,然后使用字符串处理方法join()和split()来实现编码和解码功能。具体而言,编码功能中,将用户输入的字符串中的每个字符在字典中查找对应的摩斯码,并将这些摩斯码使用空格分开连接起来形成一个编码字符串;解码功能中,将用户输入的摩斯码字符串按空格分割成不同的摩斯码,再在字典中查找对应的字符,并将这些字符拼接起来形成解码结果。

3.完整代码 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 if __name__ == '__main__': result = encrypt('HELLO WORLD') print(result) result = decrypt('.... . .-.. .-.. --- .-- --- .-. .-.. -.. ') print(result) 4.示例 示例1

输入:HELLO WORLD

输出:.... . .-.. .-.. --- .-- --- .-. .-.. -..

解释:将字符串HELLO WORLD使用字典中的摩斯码进行编码,并将编码结果用空格分开连接起来。

示例2

输入:.... . .-.. .-.. --- .-- --- .-. .-.. -..

输出:HELLO WORLD

解释:将给定的摩斯码字符串按空格分开,对每个摩斯码在字典中查找对应的字符,并将这些字符拼接起来即可得到解码结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:11行Python代码实现解密摩斯密码 - Python技术站



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3