Actualmente tiene problemas con la ruptura de este for bucle. Quiero romper si la variable no se encuentra en esta lista por lo que puede mover dos otra for bucle. Se espera que una sangría de bloque de la parte superior de la for bucle, pero si puedo cambiar la posición de la break o del inicio de la for bucle, no funciona. Ayuda!

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:
  • break sólo sale del bucle interno, no el bucle exterior. Estás seguro de que necesitas el interior de los bucles? Tal vez debería ser simplemente if x in lowercaselist
  • A primera vista, su sangría parece incorrecta. ¿La primera persona ir en contra de la primera, si x en z? A continuación, se debe aplicar la sangría en el mismo nivel que la primera si. Hace el tercero para la declaración de ir bajo que los demás? Entonces todo debería estar aplica sangría a un nivel más profundo que el otro.
  • ¿Cuál es el valor de lowercaselist y uppercaselist? Son listas de listas? Eso es por qué lo que parece cuando estás en bucle encima de ellos y a continuación, utilizando x in z.
  • barmar, son listas que contienen la parte inferior y superior de los casos de las letras del alfabeto, ex «a», «b»,
  • Entonces ¿por qué estás usando x in z en lugar de sólo x = z? O ¿por qué no escribir if x in lowercaselist:?
  • que va a funcionar, cómo se supone que voy a anexar ese valor?? a una nueva lista de

InformationsquelleAutor mansa | 2016-12-09

1 Comentario

  1. 16

    Tendrás que salir de cada circuito por separado, como se ha mencionado en los comentarios de tu pregunta, break sólo se detiene el bucle que está en

    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

    Usted necesitará hacer esto para tanto bucles

    Si quieres romper el bucle while así, entonces usted puede agregar if x in z: break en el bucle así

    • Sí, eso significa que el índice es demasiado grande para la lista, por ejemplo si usted tiene un list de 4 elementos, y se intenta conseguir list[5] dará un error porque no hay 5to elemento
    • gracias, pude solucionar el índice de problema, pero ahora, después he añadido la impresión newpasswordlist función después de la última k+=1 n la instrucción if, se imprime el valor de z dos veces
    • gracias, señor, voy a añadir esto también mis otras múltiples bucles en mi programa, esperemos que se va a trabajar

Dejar respuesta

Please enter your comment!
Please enter your name here