Maison  >  Questions et réponses  >  le corps du texte

python - Recherche d'une méthode dans def capable d'obtenir l'effet continu d'appeler cette définition pour répondre à des conditions spécifiques (le titre n'est pas clair, veuillez consulter la description dans la question)

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)
    

Ce que je veux dire, c'est que si les conditions def sont remplies, la boucle appelée en externe continuera. Par exemple, dans l'exemple, si la valeur de i est 3 ou 4, continuez. Étant donné qu'il existe de nombreuses méthodes def utilisées et que le scénario réel est beaucoup plus compliqué que l'exemple, il semble qu'il n'est pas très concis de juger la valeur de retour une par une. Je voudrais vous demander s'il existe un moyen de réaliser ma demande Merci beaucoup~

.
过去多啦不再A梦过去多啦不再A梦2723 Il y a quelques jours771

répondre à tous(2)je répondrai

  • 高洛峰

    高洛峰2017-05-27 17:41:54

    Vous pouvez affecter la boucle for en lançant une exception spécifique :

    
    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)
        

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-27 17:41:54

    continue doit être utilisé avec for. Vous pouvez essayer une autre idée de mise en œuvre
    telle que :

    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)

    répondre
    0
  • Annulerrépondre