python – Auf der Suche nach einer Methode in def, die den fortlaufenden Effekt des Aufrufs dieser def erreichen kann, um bestimmte Bedingungen zu erfüllen (der Titel ist nicht klar, siehe Beschreibung in der Frage)
过去多啦不再A梦
过去多啦不再A梦 2017-05-27 17:39:54
0
2
769
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~

过去多啦不再A梦
过去多啦不再A梦

Antworte allen(2)
小葫芦

可以通过抛个特定异常的方式来影响 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)
    
漂亮男人

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)
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!