我一直在写一个 Wordle 机器人,想看看它是如何处理所有 13,000 个单词的。问题是我通过 for 循环运行它,效率非常低。运行 30 分钟后,它仅达到 5% 左右。我可以一直等,但最终会超过 10 个小时。必须有更有效的方法。我是python的新手,所以任何建议都将不胜感激。
这里的代码是用于限制每次猜测的代码。有没有办法搜索包含“a”、“b”和“c”的单词?而不是单独运行 3 次。现在,每次我需要搜索新字母时,containts、nocontains 和 isletter 都会运行。一起搜索它们将大大减少时间。
#Find the words that only match the criteria
def contains(letter, place):
list.clear()
for x in words:
if x not in removed:
if letter in x:
if letter == x[place]:
removed.append(x)
else:
list.append(x)
else:
removed.append(x)
def nocontains(letter):
list.clear()
for x in words:
if x not in removed:
if letter not in x:
list.append(x)
else:
removed.append(x)
def isletter(letter, place):
list.clear()
for x in words:
if x not in removed:
if letter == x[place]:
list.append(x)
else:
removed.append(x)