私は以下を実行します。all_possible は、ファイルの先頭で [] に設定されています。
def a_combination(input):
global current_char
for y in range(0,len(str(typed))):
working_int = int(list(str(input))[current_char])
print working_int
if (len(all_possible) == 0):
all_possible.append(digits_all[working_int-2][0])
all_possible.append(digits_all[working_int-2][1])
all_possible.append(digits_all[working_int-2][2])
else:
for x in range(0, len(all_possible)):
x = 3*x
## Duplicate to setup 3 of the same words in the list
all_possible.insert(x, all_possible[x])
all_possible.insert(x, all_possible[x])
## Now append the 1st possible character to the first version of the working string etc...
all_possible[x] = all_possible[x]+digits_all[working_int-2][0]
all_possible[x+1] = all_possible[x+1]+digits_all[working_int-2][1]
all_possible[x+2] = all_possible[x+2]+digits_all[working_int-2][2]
## Optimization - check after each stage for no-matches.
current_char += 1
all_possible を印刷
check_matches(all_possible)
print all_possible
def check_matches(input):
output = []
for possible_word in input[:]:
for real_word in word_dictionary:
if (normalise_word(real_word).startswith(possible_word)):
output.append(possible_word)
if (normalise_word(real_word) == possible_word):
print possible_word, 'is a perfect match with the dictionary.'
print output
all_possible = output
print all_possible
return all_possible
問題は、a_combination で all_possible の値を返して設定しないことです。処理された値を check_matches に出力しますが、それを正しく返しません。つまり、a_combination は間違ったもの (normalise_word を通過する前のリスト) を出力します。何か案は?
サム