7.2 摩斯密码(project)(已更新)

您所在的位置:网站首页 爱的摩斯密码是描摹 7.2 摩斯密码(project)(已更新)

7.2 摩斯密码(project)(已更新)

2024-03-25 03:46| 来源: 网络整理| 查看: 265

本关任务:编写程序,将英文句子转换成摩尔斯电码的小程序。

相关知识

摩斯密码

摩斯密码(又译为摩尔斯电码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬ 摩斯密码表_摩斯密码对照表:

字符电码符号字符电码符号字符电码符号字符电码符号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关 摩斯密码 def morse_code_encryption(txt): """接收明文字符串为参数,返回用摩斯密码加密后的字符串。""" # 补充你的代码 dic = {'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': '--..', ' ': ' '} num = len(txt) Morsecode = '' for i in range(num): if txt[i] in dic: Morsecode += str(dic[txt[i]]) return Morsecode if __name__ == '__main__': plaintext = input().lower() # 输入一个字符串并转为小写 print(morse_code_encryption(plaintext)) # 调用函数,并输出返回值 第2关 摩斯密码加密器 def morse_code_encryption(txt): """接收明文字符串为参数,返回用摩斯密码加密后的字符串。""" char = 'abcdefghijklmnopqrstuvwxyz' + '0123456789' + '.:,;?=\'/!-_"()$&@' # 可用于加密的字符 morse_letter = [".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."] morse_digit = ['-----', '.----', '..---', '...--', '....-', '.....', '-....', '--...', '---..', '----.'] morse_spec = ['.-.-.-', '---...', '--..--', '-.-.-.', '..- -..', '-...-', '.----.', '-..-.', '-.-.--', '-....-', '..--.-', '.-..-.', '-.--.', '-.--.-', '...-..-', '·-···', '.--.-.', ''] # '.:,;?=\'/!-_"()$&@'的摩斯码 # 补充你的代码 content = morse_letter + morse_digit + morse_spec list = [] for i in txt: if i in char: list.append(content[char.index(i)]) else: list.append(i) return list if __name__ == '__main__': plaintext = input().lower() # 输入一个字符串并转为小写 print(*morse_code_encryption(plaintext)) # 调用函数,并输出返回值 第3关 摩斯密码解密 def morse_code_decryption(txt): """接收密文字符串为参数,返回用摩斯密码解密后的字符串。""" char = 'abcdefghijklmnopqrstuvwxyz' + '0123456789' + '.:,;?=\'/!-_"()$&@–' morse_letter = [".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."] morse_digit = ['-----', '.----', '..---', '...--', '....-', '.....', '-....', '--...', '---..', '----.'] morse_spec = ['.-.-.-', '---...', '--..--', '-.-.-.', '..- -..', '-...-', '.----.', '-..-.', '-.-.--', '-....-', '..--.-', '.-..-.', '-.--.', '-.--.-', '...-..-', '·-···', '.--.-.', '–',''] # 补充你的代码 content = morse_letter + morse_digit + morse_spec MORSE_CODE_DICT = dict(zip(char,content)) MORSE_CODE_DICT[''] = '' txt += ' ' decipher = '' citext = '' for letter in txt: # 检查空间 if letter != ' ': i = 0 # 在空格的情况下 citext += letter # 在空间的情况下 else: # 如果 i = 1 表示一个新字符 i += 1 # 如果 i = 2 表示一个新单词 if i == 2: # 添加空格来分隔单词 decipher += ' ' else: # 使用它们的值访问密钥(加密的反向) # decipher += list(char)[list(content).index(citext)] decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT.values()).index(citext)] citext = '' return decipher if __name__ == '__main__': ciphertext = input() # 输入一个密文 print(morse_code_decryption(ciphertext)) # 调用函数,并输出返回值



【本文地址】


今日新闻


推荐新闻


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