|
发表于 2020-8-27 10:45:48
|
显示全部楼层
#题目来源: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[j]
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.') |
|