【发布时间】:2018-11-10 19:07:19
【问题描述】:
我有一个作为 hangman 一部分的函数,它有两个输入
filter_words_list(words, pattern):
我需要一种方法来从特定位置的单词中知道单词中的字母是相同的 到图案中的字母(未覆盖)并且这些字母在同一个地方。 另外,单词和模式应该是相同的长度
这是我尝试过的:
def filter_words_list(words, pattern):
relevant_words = []
for word in words:
if len(word) == len(pattern):
for i in range(len(word)):
for j in range(len(pattern)):
if word[i] == pattern[j] and i == j:
relevant_words.append(word)
print(relevant_words)
filter_words_list(['aardvark', 'aardwolf', 'aaron', 'aback', 'abacus',
'abaft', 'abalone'],'ab___',))
打印:不好......你可以在这里看到:
['aaron', 'aback', 'aback', 'abaft', 'abaft']
我需要的印刷品:
['aback', 'abaft']
谢谢!
【问题讨论】:
-
你用什么输入?看起来返回的第一行只有 1 个错误,即第一个 aaron。其他匹配ABA序列
-
@Austin 仅显示长度相同的单词
-
@Austin 是的......其中一个似乎不正确 - 带有
len检查的代码意味着它不应该在那里...... :) -
嘿 sry 那里有一个小错误,编辑它。无论如何 - 后面和后面的节目,但两次。我也得到了 aaron(不应该在那里)