fn='a'
x=1

while fn:
    print(x)
    x+=1
    if x==100:
        fn=''

De salida: 1 … 99

fn=''
x=1

while fn:
    print(x)
    x+=1
    if x==100:
        fn='a'

De salida: mientras que el bucle no se ejecuta.


¿Cuál es la razón para que el tiempo de bucle no se ejecuta?

Es que la condición de que termina un ciclo while es «Falso» y por lo tanto no es capaz de realizar ‘mientras que los falsos’ iteraciones?

OriginalEl autor Phoenix | 2014-03-13

4 Comentarios

  1. 5

    Si quieres ‘mientras que los falsos’ funcionalidad, usted necesita not. Trate de while not fn: lugar.

    Exactamente lo que estaba buscando, muchas gracias.

    OriginalEl autor Silas Ray

  2. 3

    La condición del bucle es en realidad un «pre-condiciones» (en contraposición a la post-condición de «hacer-mientras» bucle en, digamos, C). Comprueba la condición para cada iteración, incluyendo la primera.

    En la primera iteración, la condición es falsa, por lo tanto se termina el bucle de inmediato.

    OriginalEl autor aragaer

  3. 2

    En python instrucciones condicionales :

    '' es la misma que la False es la misma que la 0 es la misma que la []

    OriginalEl autor Arovit

  4. 0

    Considerar su condición de bucle de ser traducido en esto:

    fn=''
    x=1
    
    while len(fn)>0:
        print(x)
        x+=1
        if x==100:
            fn='a'

    mientras comprueba si la cadena no está vacía al comienzo de cada iteración.

    OriginalEl autor Pablo Francisco Pérez Hidalgo

Dejar respuesta

Please enter your comment!
Please enter your name here