【发布时间】:2017-11-22 15:43:30
【问题描述】:
我正在尝试为部分莫尔斯电码实现莫尔斯解码。例如,莫尔斯电码中单词 TEST 的表示是 ['-','.','...','-'] 但是如果第一个每个莫尔斯电码字符串的字符都丢失并由 x 表示,那么 TEST 的部分莫尔斯电码将变为 ['x','x','x..','x']。因此为了解码这个部分消息,我们将不得不用任何一个替换 x 。或 - 对于上述部分莫尔斯电码中每次出现的 x。在“x”未知的情况下,解码时 TEST 字的排列将是 ETST、EEDT、ETSE 等。我已经实现了莫尔斯部分解码功能,如下所示:
def morsePartialDecode(inputStringList):
with open('words.txt','a') as wordfile:
dictionaryFileLoc = './dictionary.txt'
message_received = inputStringList
message_received = ' '.join(inputStringList)
for i in range(len(message_received)):
x = 'x'
y = '.'
message = message_received.replace(x, y)
message1 = message.split(",")
message_converted = morseDecode(message1)
print message_converted
print >> wordfile, (message_converted)
for i in range(len(message_received)):
x = 'x'
y = '-'
message = message_received.replace(x, y)
message2 = message.split(",")
message_converted = morseDecode(message2)
print >> wordfile, (message_converted)
elements = []
wordfile.closed
return message_converted
def partialMorseCodeTest():
test = ['x', 'x', 'x..', 'x']
print morsePartialDecode(test)
partialMorseCodeTest()
Output:
EESE
TTDT
我需要 ['x','x','x..','x'] 的所有组合,其中 x 替换为 .或 -。我的 morseDecode() 会将每个组合转换为各自的单词,如 EESE、TTDT 等morsedecode) 怎么办。提前致谢!
【问题讨论】:
-
所以,如果我理解正确,您需要将
['x','x','x..','x']与x的所有组合替换为.或-?而您的morseDecode()会将每个组合转换为各自的单词,例如 EESE、TTDT 等? -
是的,你是对的!
-
请相应地更新您的问题!
-
部分代码中每个字母是否有单个替换的限制,或者您是否需要处理例如:
['-', 'x.x', 'x']?
标签: python-3.x python-2.7 list