web-dev-qa-db-fra.com

Coupure pour boucle dans une instruction if

Vous rencontrez actuellement des problèmes pour rompre cette boucle for. Je veux le casser si la variable n'est pas trouvée dans cette liste afin qu'elle puisse déplacer deux autres boucles for. Il attend un bloc en retrait pour le haut de la boucle for, mais si je change la position de la break ou du début de la boucle for, il ne le fait pas travail. Aidez-moi!

while cyclenumb <= 10000:

    for x in userpassword[k]:
        for z in lowercaselist:
            if x in z:
                newpasswordlist.append(z)
                k +=1
                break
        else:

    for x in userpassword[k]:
        for z in uppercaselist:
            if x in z:
                newpasswordlist.append(z)
                k +=1
                break
        else:
14
mansa

Vous devrez séparer chaque boucle séparément, comme les gens l'ont mentionné dans les commentaires de votre question, break arrête uniquement la boucle dans laquelle elle se trouve

for x in userpassword[k]:
    for z in lowercaselist:
        if x in z:
            newpasswordlist.append(z)
            k +=1
            break

     if x in z: # added an extra condition to exit the main loop
        break

Vous devrez le faire pour les deux boucles

Si vous souhaitez également sortir de la boucle while, vous pouvez ajouter if x in z: break dans cette boucle aswel

21
Tom Fuller