对不起,如果我不小心重复了一个问题,我仍然是
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(探索过)):