单词搜索/查找单词生成器Python

2024-10-01 15:28:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个单词搜索/查找一个单词生成器,但有些部分我被卡住了。此代码的目的是从用户输入中获取维度和单词,并生成一个随机的单词搜索/查找单词。在

问题是这些字母偶尔会互相覆盖。为了尝试停止这种情况,我在函数中使用了以下代码行:

lines[0][randCoO[0] - (i)][randCoO[1]] == '-':

这条线属于函数U

它用于测试空间是否为空(由“-”填充)

我知道我应该尽量避免把我的整个代码放进去,因为它可能很长很烦人,但请你,试着帮助我

这是我的代码:

^{pr2}$

Tags: 函数代码用户目的字母空间情况单词
1条回答
网友
1楼 · 发布于 2024-10-01 15:28:24

我认为你需要重新考虑基本算法。您的代码尝试在随机方向上创建单词,然后管理冲突。相反,你可以考虑所有单词之间的所有交叉点,然后构建所有可能的重叠,并从结果中随机选择。在

例如:“FROG”和“DOG”用两个字母相交,因此它们可以从7个方向相交于“G”上,6个方向相交于“O”上“猫”和(“狗”或“青蛙”)没有共同的字母,所以它们根本就不能相交。如果你尝试了“目前为止已有的解决方案”的每一个组合,然后递归地调用你的解决方案,并在所有可能的其他组合中添加一个新词,那么你就可以用给定的词找到所有可能的单词。在

为了减少这个维度,我认为你应该首先放置不相交的单词。如果它们不完全匹配,可以退出并返回一个错误。然后按大小降序排列单词。在

然后你可以随意选择或者在找到解决方案后立即退出。如果你想让你的答案有不同的特点(比如更分散地使用整个给定的维度),我想你可以重新安排你尝试组合的方式,然后选择给定的第一个解决方案。在

相关问题 更多 >

    热门问题