Bucle While en Python

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

1/6/2020 Bucle while. Python. Bartolomé Sintes Marco. www.mclibre.

org

Bucle while
En esta lección se tratan los bucles while.

El bucle while
Un bucle while permite repetir la ejecución de un grupo de instrucciones mientras se cumpla una
condición (es decir, mientras la condición tenga el valor True).
La sintaxis del bucle while es la siguiente:

while condicion:
cuerpo del bucle

La ejecución de esta estructura de control while es la siguiente:


Python evalúa la condición:
si el resultado es True se ejecuta el cuerpo del bucle. Una vez ejecutado el cuerpo del
bucle, se repite el proceso (se evalúa de nuevo la condición y, si es cierta, se ejecuta de
nuevo el cuerpo del bucle) una y otra vez mientras la condición sea cierta.
si el resultado es False, el cuerpo del bucle no se ejecuta y continúa la ejecución del resto
del programa.
La variable o las variables que aparezcan en la condición se suelen llamar variables de control.
Las variables de control deben definirse antes del bucle while y modificarse en el bucle while.

Diagrama de flujo
El diagrama de flujo siguiente muestra la ejecución de un bucle while ...:

https://www.mclibre.org/consultar/python/lecciones/python-while.html 1/5
1/6/2020 Bucle while. Python. Bartolomé Sintes Marco. www.mclibre.org

DIAGRAMA DE FLUJO: BUCLE WHILE


El programa llega al bucle while.

INICIO

false true
CONDICIÓN

BLOQUE

FIN

Si incluimos en este esquema la definición y modificación de las variables de control que


intervienen en la condición, el diagrama de flujo sería el siguiente:

https://www.mclibre.org/consultar/python/lecciones/python-while.html 2/5
1/6/2020 Bucle while. Python. Bartolomé Sintes Marco. www.mclibre.org

DIAGRAMA DE FLUJO: BUCLE WHILE


Haga clic en los botones de avance y retroceso
para ver la ejecución paso a paso

INICIO

ASIGNACIÓN

false true
CONDICIÓN

BLOQUE

CAMBIO

FIN

Ejemplos de bucles while


Por ejemplo, el siguiente programa escribe los números del 1 al 3:

Ejemplo de bucle while 1

i = 1 1
while i <= 3: 2
print(i) 3
i += 1 Programa terminado
print("Programa terminado")

Puede ver la ejecución paso a paso de este programa utilizando los iconos de avance y
retroceso situados abajo a la derecha.

https://www.mclibre.org/consultar/python/lecciones/python-while.html 3/5
1/6/2020 Bucle while. Python. Bartolomé Sintes Marco. www.mclibre.org

El ejemplo anterior se podría haber programado con un bucle for. La ventaja de un bucle while es
que la variable de control se puede modificar con mayor flexibilidad, como en el ejemplo
siguiente:

Ejemplo de bucle while 2

i = 1 1
while i <= 50: 4
print(i) 13
i = 3 * i + 1 40
print("Programa terminado") Programa terminado

Puede ver la ejecución paso a paso de este programa utilizando los iconos de avance y
retroceso situados abajo a la derecha.

Otra ventaja del bucle while es que el número de iteraciones no está definida antes de empezar el
bucle, por ejemplo porque los datos los proporciona el usuario. Por ejemplo, el siguiente ejemplo
pide un número positivo al usuario una y otra vez hasta que el usuario lo haga correctamente:

Ejemplo de bucle while 3

numero = int(input("Escriba un Escriba un número positivo: -4


número positivo: ")) ¡Ha escrito un número negativo!
while numero < 0: Inténtelo de nuevo
print("¡Ha escrito un número Escriba un número positivo: -8
negativo! Inténtelo de nuevo") ¡Ha escrito un número negativo!
numero = int(input("Escriba un Inténtelo de nuevo
número positivo: ")) Escriba un número positivo: 9
print("Gracias por su Gracias por su colaboración
colaboración")

Bucles infinitos
Si la condición del bucle se cumple siempre, el bucle no terminará nunca de ejecutarse y
tendremos lo que se denomina un bucle infinito. Aunque a veces es necesario utilizar bucles
infinitos en un programa, normalmente se deben a errores que se deben corregir.
Los bucles infinitos no intencionados deben evitarse pues significan perder el control del
programa. Para interrumpir un bucle infinito, hay que pulsar la combinación de teclas Ctrl+C. Al
interrumpir un programa se mostrará un mensaje de error similar a éste:

Traceback (most recent call last):


File "ejemplo.py", line 3, in <module>

https://www.mclibre.org/consultar/python/lecciones/python-while.html 4/5
1/6/2020 Bucle while. Python. Bartolomé Sintes Marco. www.mclibre.org

print(i)
KeyboardInterrupt

Por desgracia, es fácil programar involuntariamente un bucle infinito, por lo que es inevitable
hacerlo de vez en cuando, sobre todo cuando se está aprendiendo a programar.
Estos algunos ejemplos de bucles infinitos:
El programador ha olvidado modificar la variable de control dentro del bucle y el programa
imprimirá números 1 indefinidamente:

i = 1 1 1 1 1 1 1 1 1 ...
while i <= 10:
print(i, end=" ")

El programador ha escrito una condición que se cumplirá siempre y el programa imprimirá


números consecutivos indefinidamente:

i = 1 1 2 3 4 5 6 7 8 9 10 11 ...
while i > 0:
print(i, end=" ")
i += 1

Se aconseja expresar las condiciones como desigualdades en vez de comparar valores. En el


ejemplo siguiente, el programador ha escrito una condición que se cumplirá siempre y el
programa imprimirá números consecutivos indefinidamente:

i = 1 1 3 5 7 9 11 ... 97 99 101 ...


while i != 100:
print(i, end=" ")
i += 2

Última modificación de esta página: 22 de marzo de 2019

Esta página forma parte del curso Introducción a la programación con Python por Bartolomé
Sintes Marco
que se distribuye bajo una Licencia Creative Commons Reconocimiento-CompartirIgual 4.0
Internacional (CC BY-SA 4.0).

https://www.mclibre.org/consultar/python/lecciones/python-while.html 5/5

También podría gustarte