- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
给定的字母:字母的例子
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
%
而且我们应该能够毫无问题地处理大量字母。
关于python - wordsearch 的递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50633762/
我已经为这个词搜索项目苦苦挣扎了几天,只是想让水平搜索工作。它意味着在所有 8 个可能的方向(水平、垂直、对角线)上工作。这是我当前的代码。 现在我只担心水平方向,因为我怀疑如果我正确地进行了比较,那
我在尝试读取包含单词搜索字母的文本文件(如下)时遇到问题。我想以数组形式读取文本文件,然后能够将我的 dictionary.txt 中的单词与 wordsearch_grid.txt 匹配。有什么想法
给定的字母:字母的例子 letters = 'hutfb' 我得到了一个包含单词列表的文件。 我需要编写一个递归函数来检查字母可能产生的所有可能性。如果可能性在文件的单词列表中,我需要打印那个特定的单
在主文件中,我循环遍历输入的每一行,直到它遇到单词,然后我将其搜索的单词传递给 startSearch with puzzleArray,我想要返回的已解决数组,单词为字符串,大小为数字行数,长度为列
在我已初始化的数组上收到 java.lang.NullPointerException,但我无法完全弄清楚做错了什么。错误发生在第 371 行。 下面是父类的代码,后面是初始化 letterArray
如果找到该词,我很难将我的 boolean 值更改为 true。 import java.util.Scanner; public class WordSearch { private cha
我是一名优秀的程序员,十分优秀!