Heim > Fragen und Antworten > Hauptteil
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)
Was ich meine ist, dass, wenn die Bedingungen in def erfüllt sind, die extern aufgerufene Schleife fortgesetzt wird. Wenn im Beispiel der Wert von i beispielsweise 3 oder 4 ist, fahren Sie fort. Da viele Def-Methoden aufgerufen werden und das tatsächliche Szenario viel komplizierter ist als das Beispiel, scheint es nicht sehr prägnant zu sein, den Rückgabewert einzeln zu beurteilen. Ich möchte Sie fragen, ob es eine Möglichkeit gibt, mein Anliegen zu verwirklichen. Vielen Dank~
高洛峰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)