在if语句中断开循环

时间:2016-12-09 16:59:41

标签: python list if-statement for-loop break

目前无法打破此for循环。如果在此列表中找不到变量,我想打破它,这样它就可以移动另外两个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:

1 个答案:

答案 0 :(得分:11)

你需要分别打破每个循环,就像人们在你的问题的评论中提到的那样,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

您需要为两个循环

执行此操作

如果您想要摆脱while循环,那么您可以在该循环中添加if x in z: break aswel