我正在为一项任务编写一些代码。一切都很顺利,除了我在尝试打破for循环时遇到问题。我有以下代码:
class IterData:
def __init__(self, filepath):
#only pass the necessary data
def __iter__(self):
#implement iter here
class Data:
def __init__(self, filepath):
# Computationaly expensive
@classmethod
def new_iter(cls, filepath):
return IterData(filepath)
results = Data.new_iter('path')
for batch_x, batch_y in results:
pass
因此,break应该会让我们脱离for循环,以便代码可以在以后继续使用不同的行和列值。除了这个之外,这适用于我的其他所有情况。我设置了一个虚拟输出,它将打印第一个案例,然后永远这个。我无法看到为什么它不会打破for循环,所以希望一些有经验的程序员可以帮我搞清楚。谢谢!
答案 0 :(得分:0)
break
将退出循环。因此,条件(n[a][j] == ourPiece)
和(n[a][j] == blank)
永远不会被看到。永远不会触发for (a >= 0)
上的保护条件,因为变量a
是一个有符号整数,它总是会减少,显然会开始为负。
对负整数进行索引很少是正确的。