python小于错误比较int和数组长度

对不起,如果我不小心重复了一个问题,我仍然是
Python的新手.

我正在开展一个学校项目,要求我们使用图形搜索来解决一个经典的谜语.我用Python编写,因为它是我开始学习它的一个很好的借口,但我遇到了一些对我来说很奇怪的问题.

对于一个部分,我想循环浏览已探索节点的列表,并查看另一个节点是否与已探索节点列表中的任何节点相同.如果尚未探索,那么它可能是图中探索的下一个节点.

我找到的问题是在一行中我使用for循环来搜索已探索列表中的每个值.这是我写的:

def validate(self, testnode, explored):
    if((testnode.wolf == testnode.sheep != testnode.farmer) or (testnode.sheep == testnode.cabbage != testnode.farmer)):
        #return failure
        return false
    for i < len(explored):
        if testnode == explored[i]:
            #return failure
            return false
    else: return true

这是我的错误

  File "AI_Lab1_BFS.py", line 54
    for i < len(explored):
          ^
SyntaxError: invalid syntax

我已经在SO上阅读了Python用户的一些其他问题,其中问题是比较错误的类型,比如将int与float进行比较.我不认为这是我的问题,因为len(探索过)应该是一个int,对吗?这就是我所看到的,虽然也许我误解/假设的东西.如果您能提供任何帮助,我将非常感激!

感谢大家的快速回复.建议的更改肯定有效.

最佳答案 替换为i< len(探索过):for in in range(0,len(探索过)):

点赞