Python tiene dos tipos de bucles: los bucles for y los bucles while. Si los bucles for iteran sobre una lista (iterable) elemento por elemento, un bucle while, por otro lado, repite las sentencias dentro de su cuerpo mientras que la condición en la declaración while se cumpla. En ese sentido, es muy similar a una declaración if. Ejecuta las sentencias dentro del bucle while en caso de que la condición se satisfaga:
i = 0
while i < 5:
print('Current i is:', i)
i += 1
print('Done')
Current i is: 0
Current i is: 1
Current i is: 2
Current i is: 3
Current i is: 4
Done
The program on the left will print this output
Inicialmente, a i se le asigna el valor 0 ⇒ i = 0.
Luego, el programa verifica si i < 5 y como 0 < 5, entra en el cuerpo del while.
El programa imprime Current i is: 0.
La variable i aumenta su valor en 1, convirtiéndose en i = 1.
El programa vuelve a la condición y verifica si i < 5. Como 1 < 5 ⇒ entra en el cuerpo del while.
El programa imprime Current i is: 1.
La variable i aumenta su valor en 1, convirtiéndose en i = 2.
El programa verifica si i < 5. 2 < 5 ⇒ entra en el cuerpo del while.
El programa imprime Current i is: 2.
La variable i aumenta su valor en 1, convirtiéndose en i = 3.
El programa verifica si i < 5. 3 < 5 ⇒ entra en el cuerpo del while.
El programa imprime Current i is: 3.
La variable i aumenta su valor en 1, convirtiéndose en i = 4.
El programa verifica si i < 5. 4 < 5 ⇒ entra en el cuerpo del while.
El programa imprime Current i is: 4.
La variable i aumenta su valor en 1, convirtiéndose en i = 5.
El programa verifica si i < 5. 5 = 5 ⇒ El programa sale del bucle while y imprime Done.
Desafío
Dado un número entero positivo n. Imprime el valor de n mientras sea mayor que 0 y divídelo entre 2 (toma solo la parte entera).