web-dev-qa-db-ja.com

ifステートメントのforループを解除する

現在、このforループの解除に問題があります。このリストに変数が見つからない場合は、2つのforループを移動できるように、それを壊したいと思います。 forループの先頭にはインデントされたブロックが必要ですが、breakまたはforループの先頭の位置を変更しても、作業。助けて!

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

質問のコメントで人々が言及しているように、各ループを個別に抜け出す必要があります。breakは、それが入っているループのみを停止します

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

bothループに対してこれを行う必要があります

Whileループから抜け出したい場合は、そのループaswelにif x in z: breakを追加できます。

21
Tom Fuller