摩斯密码(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 ━ ━ ..
数字 0 ━ ━ ━ ━ ━ 1 .━ ━ ━ ━ 2 ..━ ━ ━ 3 ...━ ━ 4 ....━ 5 ..... 6 ━ .... 7 ━ ━ ... 8 ━ ━ ━ .. 9 ━ ━ ━ ━ .
标点符号
. .━ .━ .━ : ━ ━ ━ ... , ━ ━ ..━ ━ ; ━ .━ .━ . ? ..━ ━ .. = ━ ...━ ' .━ ━ ━ ━ . / ━ ..━ . ! ━ .━ .━ ━ ━ ━ ....━ _ ..━ ━ .━ " .━ ..━ . ( ━ .━ ━ . ) ━ .━ ━ .━ $ ...━ ..━ & .━ ... @ .━ ━ .━ .
编写程序:
将输入的英文句子转换成摩尔斯电码并输出,其中字母、数字和标点符号按编码输出,空格原样输出,若编码表里没有的字符,也原样输出,且每个摩斯码之间用一个空格分隔。 morse = [".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."] digit = ['-----', '.----', '..---', '...--', '....-', '.....', '-....', '--...', '---..', '----.'] punctuation = {'.': '.-.-.-', ':': '---...', ',': '--..--', ';': '-.-.-.', '?': '..- -..', '=': '-...-', "'": '.----.', '/': '-..-.', '!': '-.-.--', '-': '-....-', '_': '..--.-', '"': '.-..-.', '(': '-.--.', ')': '-.--.-', '$': '...-..-', '&': '·-···', '@': '.--.-.', ' ': ''}
格式
Input
Python is a programming language that lets you work more quickly and integrate your systems more effectively.
输出
.--. -.-- - .... --- -. .. ... .- .--. .-. --- --. .-. .- -- -- .. -. --. .-.. .- -. --. ..- .- --. . - .... .- - .-.. . - ... -.-- --- ..- .-- --- .-. -.- -- --- .-. . --.- ..- .. -.-. -.- .-.. -.-- .- -. -.. .. -. - . --. .-. .- - . -.-- --- ..- .-. ... -.-- ... - . -- ... -- --- .-. . . ..-. ..-. . -.-. - .. ...- . .-.. -.-- .-.-.-
Accept代码
str1 = str.upper(input())
morse = [".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."]
digit = ['-----', '.----', '..---', '...--', '....-', '.....', '-....', '--...', '---..', '----.']
punctuation = {'.': '.-.-.-', ':': '---...', ',': '--..--', ';': '-.-.-.', '?': '..- -..', '=': '-...-', "'": '.----.', '/': '-..-.', '!': '-.-.--', '-': '-....-', '_': '..--.-', '"': '.-..-.', '(': '-.--.', ')': '-.--.-', '$': '...-..-', '&': '·-···', '@': '.--.-.', ' ': ''}
for ch in str1:
if ord('A') <= ord(ch) <= ord('Z'):
print(morse[ord(ch) - ord('A')], end=' ')
elif ord('0') <= ord(ch) <= ord('9'):
print(digit[ord(ch) - ord('0')], end=' ')
elif ch in punctuation.keys():
print(punctuation[ch], end=' ')
else:
print(ch, end=" ")