|
发表于 2017-12-5 16:10:19
|
显示全部楼层
本帖最后由 shigure_takimi 于 2017-12-5 16:11 编辑
- def decodeMorse(morseCode):
- morseCode = morseCode.strip().split(' ')
- allWords = []
- for word in morseCode:
- word = word.strip().split(' ')
- word = ''.join([MORSE_CODE[i] for i in word])
- allWords.append(word)
- return ' '.join(allWords)
复制代码
# 测试通过。
- def assert_equals(func, target, *args):
- if func == target:
- print('Success!')
- else:
- print('Fail!{0} not equals {1}'.format(func, target))
- print(*args)
- 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):
- morseCode = morseCode.strip().split(' ')
- allWords = []
- for word in morseCode:
- word = word.strip().split(' ')
- word = ''.join([MORSE_CODE[i] for i in word])
- allWords.append(word)
- return ' '.join(allWords)
- 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.')
-
复制代码
|
|