我有一个for循环,如果出现错误,我需要中断它。
我希望在布尔值为真的情况下能够继续for循环,但不想一遍又一遍地写if语句,有没有可能在循环之外调用continue?
下面的代码导致了一个错误.但是我认为这是可行的.
_Range = 6
_RangeEnd = 0
def function_to_call():
print("x")
if _Continue is True:
continue
for x in range(_Range):
_RangeEnd = _RangeEnd + 1
function_to_call()
if _RangeEnd == 5:
_Continue = True
如果这是不可能的,那么什么是有效的方法呢?我在很多不同的for循环中重用了这个函数。
3条答案
按热度按时间deyfvvtc1#
你不能在循环外调用
continue
,例如,从循环内调用的函数。一种选择是从你的函数中 * 返回一个有意义的值 *,告诉调用者
continue
,即某个真值或假值:或者一个哨兵对象:
错误处理用例中的另一个选项是使用
try
/except
直接处理这些异常:尽管我承认我可能误解了您实际想要做的事情,因为也许最直接的“如果布尔值为真,希望能够继续for循环”只是一个普通的
while
:你必须提供你希望“继续的函数”在其中使用的“不同的for循环”的实际例子。
yxyvkwin2#
虽然我怀疑这对于程序的流控制是否是一个好主意,但类似这样的东西可以模拟您所需要的:
不,
continue
不能在循环之外。m3eecexj3#
continue需要在一个循环中,我认为最好的解决方案是将一个(if boolVar == True:继续)。