我有一个代码,可以在字典文件中找到字符串的字谜。我想创建一个函数来测试称为test_find_anagrams()的各种字符串。它应该测试至少6个不同的字符串。
这是我测试文件中单个字符串的代码。
def anagram(str1,str2):
str1 = sorted(str1)
str2 = sorted(str2)
return str1 == str2
def get_dictionary_word_list():
with open('dictionarys.txt') as f:
return f.read().split()
def find_anagrams(str):
return [word for word in get_dictionary_word_list() if anagram(word,str)]
到目前为止,我有这段代码可以测试不同的字符串,它适用于列表中的第一个字符串,但之后的任何字符串均不返回任何内容。我还需要在代码中添加其他内容才能使其正常工作?
def test_find_anagrams():
stringlist = [('aces'), ('sidebar'), ('adverb'), ('fuels'), ('hardset'), ('praised')]
for str1 in stringlist:
return [word for word in get_dictionary_word_list() if anagram(word,str1)]
它仅“在列表中的第一个字符串上起作用”,因为您是从循环内部返回的。在循环之外跟踪结果。
def test_find_anagrams():
stringlist = [('aces'), ('sidebar'), ('adverb'), ('fuels'), ('hardset'), ('praised')]
result = []
for str1 in stringlist:
result.extend(word for word in get_dictionary_word_list() if anagram(word,str1))
return result
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句