def con(x):
if x==3:
continue #会报错
def con2(x):
if x == 4:
continue #会报错
for i in range(0,10):
con(i)
con2(i)
print(i)
小弟的意思是,若滿足def內的條件,則外部呼叫的for迴圈做continue。例如,在例子中,i的值若為3或4,則continue。因為for中呼叫的def方法會有很多個,而且實際場景要比例子複雜很多,所以感覺一個一個判斷回傳值並不是很簡潔。想請問大家有沒有什麼方法,實現小弟的這個述求,非常感謝大家~
高洛峰2017-05-27 17:41:54
可以透過拋個特定異常的方式來影響 for 迴圈:
class Abort(Exception):
pass
def con(x):
if x==3:
raise Abort()
def con2(x):
if x == 4:
raise Abort()
for i in range(0,10):
try:
con(i)
con2(i)
except Abort:
continue
print(i)
漂亮男人2017-05-27 17:41:54
continue必須搭配for一起使用,可以嘗試換一個實現思路
如:
def con(x):
return True if x == 3 else False
def con2(x):
return True if x == 4 else False
for i in range(0,10):
lst = [
con(i),
con2(i)
]
if any(lst):
continue
print(i)