MORSE_CODE = {'.-...': '&', '--..--': ',', '....-': '4', '.....': '5', '...---...': 'SOS', '-...': 'B', '-..-': 'X', '.-.': 'R', '.--': 'W', '..---': '2', '.-': 'A', '..': 'I', '..-.': 'F', '.': 'E', '.-..': 'L', '...': 'S', '..-': 'U', '..--..': '?', '.----': '1', '-.-': 'K', '-..': 'D', '-....': '6', '-...-': '=', '---': 'O', '.--.': 'P', '.-.-.-': '.', '--': 'M', '-.': 'N', '....': 'H', '.----.': "'", '...-': 'V', '--...': '7', '-.-.-.': ';', '-....-': '-', '..--.-': '_', '-.--.-': ')', '-.-.--': '!', '--.': 'G', '--.-': 'Q', '--..': 'Z', '-..-.': '/', '.-.-.': '+', '-.-.': 'C', '---...': ':', '-.--': 'Y', '-': 'T', '.--.-.': '@', '...-..-': '$', '.---': 'J', '-----': '0', '----.': '9', '.-..-.': '"', '-.--.': '(', '---..': '8', '...--': '3'}
inputcode = input("please input morse code:")
Afterstripcode = inputcode.strip()
Finalcode = Afterstripcode.rstrip()
Lmorsecode = Finalcode.split(" ")
S = ""
for i in range(len(Lmorsecode)):
if i!=len(Lmorsecode)-1:
if Lmorsecode!="":
S = S + MORSE_CODE]
else:
S = S + " "
else:
S = S + MORSE_CODE]
print(S) 看看 class MorseCode:
def __init__(self):
self.code_dict = {'.-...': '&', '--..--': ',', '....-': '4', '.....': '5', '...---...': 'SOS',
'-...': 'B', '-..-': 'X', '.-.': 'R', '.--': 'W', '..---': '2', '.-': 'A', '..': 'I',
'..-.': 'F', '.': 'E', '.-..': 'L', '...': 'S', '..-': 'U', '..--..': '?',
'.----': '1', '-.-': 'K', '-..': 'D', '-....': '6', '-...-': '=', '---': 'O',
'.--.': 'P', '.-.-.-': '.', '--': 'M', '-.': 'N', '....': 'H', '.----.': "'",
'...-': 'V', '--...': '7', '-.-.-.': ';', '-....-': '-', '..--.-': '_', '-.--.-': ')',
'-.-.--': '!', '--.': 'G', '--.-': 'Q', '--..': 'Z', '-..-.': '/', '.-.-.': '+',
'-.-.': 'C', '---...': ':', '-.--': 'Y', '-': 'T', '.--.-.': '@', '...-..-': ',
'.---': 'J', '-----': '0', '----.': '9', '.-..-.': '"', '-.--.': '(', '---..': '8',
'...--': '3'}
def trans(self,s):
for each_code in s.split(' '):
print(self.code_dict,end = ' ')
a = MorseCode()
a.trans('.... . -.-- .--- ..- -.. .') 学习 1
#题目来源:https://fishc.com.cn/forum.php?mod=viewthread&tid=87150
MORSE_CODE = {'.-...': '&', '--..--': ',', '....-': '4', '.....': '5', '...---...': 'SOS', '-...': 'B', '-..-': 'X',
'.-.': 'R', '.--': 'W', '..---': '2', '.-': 'A', '..': 'I', '..-.': 'F', '.': 'E', '.-..': 'L',
'...': 'S', '..-': 'U', '..--..': '?', '.----': '1', '-.-': 'K', '-..': 'D', '-....': '6',
'-...-': '=', '---': 'O', '.--.': 'P', '.-.-.-': '.', '--': 'M', '-.': 'N', '....': 'H',
'.----.': "'", '...-': 'V', '--...': '7', '-.-.-.': ';', '-....-': '-', '..--.-': '_', '-.--.-': ')',
'-.-.--': '!', '--.': 'G', '--.-': 'Q', '--..': 'Z', '-..-.': '/', '.-.-.': '+', '-.-.': 'C',
'---...': ':', '-.--': 'Y', '-': 'T', '.--.-.': '@', '...-..-': '$', '.---': 'J', '-----': '0',
'----.': '9', '.-..-.': '"', '-.--.': '(', '---..': '8', '...--': '3'}
def decodeMorse(morseCode):
result=[]
#去掉头和尾部的空格
morseCode = morseCode.strip()
#调用split()方法将传入的morseCode 先按照三个空格进行切片
lst_three = morseCode.split(' ')
for i in lst_three:
# 调用split()方法将传入的morseCode 先按照一个空格进行切片,得到key值
lst_one = i.split(' ')
#将lst_one 合并为一个单词
temp_he = ''
for j in lst_one:
temp_he += MORSE_CODE
result.append(temp_he)
return ' '.join(result)
def assert_equals(func, target, *args):
if (func == target):
print('SUCC!')
else:
print('Fail! {0} not equals {1} '.format(func,target))
print(*args)
assert_equals(decodeMorse('.... . -.-- .--- ..- -.. .'), 'HEY JUDE')
assert_equals(decodeMorse(' . '), 'E')
assert_equals(decodeMorse('...---...'), 'SOS')
assert_equals(decodeMorse(' ...---... -.-.-- - .... . --.- ..- .. -.-. -.- -... .-. --- .-- -. ..-. --- -..- .--- ..- -- .--. ... --- ...- . .-. - .... . .-.. .- --.. -.-- -.. --- --. .-.-.-'), 'SOS! THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.') from unittest import result
def decodeMorse(morseCode):
MORSE_CODE = {'.-...': '&', '--..--': ',', '....-': '4',
'.....': '5', '...---...': 'SOS', '-...': 'B',
'-..-': 'X', '.-.': 'R', '.--': 'W', '..---': '2',
'.-': 'A', '..': 'I', '..-.': 'F', '.': 'E', '.-..': 'L',
'...': 'S', '..-': 'U', '..--..': '?', '.----': '1', '-.-': 'K',
'-..': 'D', '-....': '6', '-...-': '=', '---': 'O', '.--.': 'P',
'.-.-.-': '.', '--': 'M', '-.': 'N', '....': 'H', '.----.': "'",
'...-': 'V', '--...': '7', '-.-.-.': ';', '-....-': '-', '..--.-': '_',
'-.--.-': ')', '-.-.--': '!', '--.': 'G', '--.-': 'Q', '--..': 'Z',
'-..-.': '/', '.-.-.': '+', '-.-.': 'C', '---...': ':', '-.--': 'Y', '-': 'T',
'.--.-.': '@', '...-..-': '$', '.---': 'J', '-----': '0', '----.': '9',
'.-..-.': '"', '-.--.': '(', '---..': '8', '...--': '3'}
wordListt = morseCode.split(" ")
print(wordListt)
result = ''
for each in wordListt:
alphabetList = each.split(' ')
for alphabet in alphabetList:
if(str(MORSE_CODE.get(alphabet)) == "None"):
continue
else:
result += str(MORSE_CODE.get(alphabet))
result += ' '
return result
if __name__ == "__main__":
target = " ...---... -.-.-- - .... . --.- ..- .. -.-. -.- -... .-. --- .-- -. ..-. --- -..- .--- ..- -- .--. ... --- ...- . .-. - .... . .-.. .- --.. -.-- -.. --- --. .-.-.-"
result = decodeMorse(target)
print(result)
页:
1
[2]