Problema con booleano en Python

Preguntas y respuestas relacionadas con el uso y desarrollo de scripts Python y plugins para Blender 3D
Responder
andreac17
Mensajes: 18
Registrado: Lun Abr 14, 2014 2:11 am
Nombre:

Problema con booleano en Python

Mensaje por andreac17 » Lun May 26, 2014 4:17 am

Hola! Tengo un problema tonto en python que no se como resolver. Tengo un codigo, no importan los detalles, lo que importa es que en algun punto utilizo un condicional. Tambien tengo un booleano que se supone que creé para que el condicional solo se ejecute la primera vez que se cumple la condición. Es algo así:

Código: Seleccionar todo

flag = False

Linea de código
Linea de código
Linea de código
Linea de código

if (condicion):
.....if(flag == False):
.........Linea
.........Linea
.........Linea
.........Linea
.........flag = True
.....Linea
.....Linea
el if
.........Linea
.........Linea
Lo que entiendo es que python se ejecuta el codigo del script infinitamente entonces al terminar, vuelve al principio, coloca flag en False y obviamente que vuelve a entrar en el condicional. Como puedo solucionar esto? Soy nueva en python y todavia no se bien bien manejar estas cosas. Gracias!

YHOYO0
Mensajes: 142
Registrado: Sab May 06, 2006 11:05 am
Nombre:
Contactar:

Re: Problema con booleano en Python

Mensaje por YHOYO0 » Lun Jun 02, 2014 4:49 pm

hola

bueno, quede perdido en varias cosas que dices....

"Lo que entiendo es que python se ejecuta el codigo del script infinitamente entonces al terminar, vuelve al principio,"

si se ejecuta infinitamente no puede terminar....

ahora bien... python ejecuta el programa de manera lineal.... ummmm de arriba a abajo me refiero...

tambien tienes escrito el elif mal... dado que es "elif " y no "el if" con un espacio en el medio

tambien deberias utilizar un bucle while que hace que se devuelva el bucle, tambien en este caso no tiene objetivo usar if, ni, elif ni else:

1. la variable esta en False
2. el while entra en bucle porque la variable esta en false
3. dentro del while se imprime algo y cambiamos la variable a true
4. se retorna el while pero como no cumple la condicion se sale del bucle y lee el siguiente print fuera del bucle


a continuación el codigo funcinal:

Código: Seleccionar todo

flag = False

while flag == False:
    print("flag es false")
    flag = True
    
print("ahora flag es True")
creo que un ejemplo mas interesante es el siguiente donde si tiene sentido no solo usar el while sino tambien la sentencia if - else:

Código: Seleccionar todo

flag = False
numero = 0
while flag == False:
    print(numero)
    if numero <5:
        numero = numero + 1
    else:
        flag = True
    
print("ahora flag es True")
cordial saludo

Diego

Responder