SyntaxError: 'break' outside loop when I use it in loop
SyntaxError: 'break' outside loop when I use it in loop
问题
嗨,我有一个问题。好吧,我知道我不能在循环外使用 break
但我在循环中使用它仍然会出错。
我做什么
我创建了一个函数,它有一个命令 break
并在循环中使用它。我得到一个错误。我不能做这样的事情:
function()
break()
因为我的函数有一个 if
语句,例如:
do somthing
if that:
break
代码
def destroy():
i = o.index(rect)
MAPh[i] -= 1
if MAPh[i] <= 0:
del o[i]
del MAP[i]
del MAPxy[i]
del MAPh[i]
break
for a in range(len(MAP)):
...
destroy
中断或继续是循环的一部分。如果您的代码中有循环,您可以使用它们。如果你只是使用条件语句,你不能也不需要使用 break。只需删除它或将您的代码放入循环中。
从循环中调用函数并不意味着您可以从中打破循环。 break
语句必须在循环范围内直接,而不是隐式
如果你想在满足函数中的条件时中断循环,你可以将函数更改为return循环中断的指示器:
def destroy():
...
if condition:
return True
return False
for a in range(len(MAP)):
...
if destroy():
break
问题
嗨,我有一个问题。好吧,我知道我不能在循环外使用 break
但我在循环中使用它仍然会出错。
我做什么
我创建了一个函数,它有一个命令 break
并在循环中使用它。我得到一个错误。我不能做这样的事情:
function()
break()
因为我的函数有一个 if
语句,例如:
do somthing
if that:
break
代码
def destroy():
i = o.index(rect)
MAPh[i] -= 1
if MAPh[i] <= 0:
del o[i]
del MAP[i]
del MAPxy[i]
del MAPh[i]
break
for a in range(len(MAP)):
...
destroy
中断或继续是循环的一部分。如果您的代码中有循环,您可以使用它们。如果你只是使用条件语句,你不能也不需要使用 break。只需删除它或将您的代码放入循环中。
从循环中调用函数并不意味着您可以从中打破循环。 break
语句必须在循环范围内直接,而不是隐式
如果你想在满足函数中的条件时中断循环,你可以将函数更改为return循环中断的指示器:
def destroy():
...
if condition:
return True
return False
for a in range(len(MAP)):
...
if destroy():
break