【发布时间】:2013-11-29 14:58:08
【问题描述】:
我仍然是初学者,但不知道为什么“for 循环”中的“return True”会在第一次通过后停止循环。如果我使用“return”以外的其他东西,一切都很好。
def roc_valid(self,cote_x,cote_y):
from graph_chess import board
p = board()
side=(side_x,side_y)
if side == (0,0):
for (x,y) in (0,1),(0,2),(0,3):
print(King.ok_to_move(self,x,y))
if p.getPiece(x,y)=="" and king.ok_to_move(self,x,y):
return True
【问题讨论】:
-
我的目标不是打破循环,而是返回 True"
-
它停止
for循环,因为当遇到return语句时,函数立即返回,结束循环。 -
从什么返回真?这就是它的作用。它使 roc_valid 返回 True。
-
还在学习中...:) 所以我应该修改最后一个“if”以返回 False”。一旦 roc_valid 为 False,在这种情况下停止循环就可以了。谢谢。明白了
-
@user2984887 习惯上接受对您有帮助的答案。 meta.stackexchange.com/a/5235/235416请考虑勾选其中一个答案
标签: python loops for-loop return