给定字母:字母示例
letters = 'hutfb'
我得到一个带有单词列表的文件。
我需要编写一个递归函数,使我能够检查字母可能产生的所有可能性。如果可能性在文件中的单词列表中,则需要打印该特定单词。
所以给定的字母
他们可以创建以下单词:
等等等等
字母组成的每个组合我都需要检查文件以查看其是否有效。如果是的话,我需要打印它们。
我不知道如何开始编写此功能。
我同意@dparolin关于处理单词文件以查看单词是否符合字母的要求,而不是生成可能的单词并查看它们是否在文件中。这使我们不必将文件读入内存,因为我们一次只需要检查一个单词。可以通过递归测试来完成:
letters = 'catbt'
def is_match(letters, word):
if not word:
return True
if not letters:
return False
letter = letters.pop()
if letter in word:
word.remove(letter)
return is_match(letters, word)
with open('words.txt') as words:
for word in words:
word = word.strip()
if is_match(list(letters), list(word)):
print(word)
用法示例
% python3 test.py
act
at
bat
cab
cat
tab
tact
%
而且我们应该能够处理很多字母而没有问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句