Menu
Coddy logo textTech

Bucle While

Parte de la sección Fundamentals del Journey de Python de Coddy. Lección 36 de 77.

Un bucle while es diferente del bucle for. Un bucle for nos permite iterar sobre un range específico, mientras que un bucle while nos permite seguir iterando mientras se cumpla una determinada condition.

Para usar un bucle while escribe:

while condition:
	code

El código solo se ejecutará si la condición es True.

La condition normalmente se forma utilizando operadores de comparación tales como <= (menor o igual que), >= (mayor o igual que), < (menor que), > (mayor que) o == (igual a). El loop se sigue ejecutando mientras esa comparación se evalúe como True, y se detiene tan pronto como se convierte en False.

Dentro del cuerpo del bucle, normalmente necesitas actualizar la variable que se está comprobando. Esto se hace con operadores de asignación compuesta como += (sumar y asignar), -= (restar y asignar), *= (multiplicar y asignar) o /= (dividir y asignar). Por ejemplo, x *= 2 es una forma abreviada de x = x * 2. Sin actualizar la variable, la condición nunca cambiaría y el bucle se ejecutaría indefinidamente.

Hay muchos casos de uso en los que un while resolvería el problema, pero el bucle for no.

Por ejemplo, considera este problema:

Encuentra la potencia de 2 más pequeña que sea mayor que un número dado.

Para resolverlo usaremos un bucle while que multiplicará repetidamente la potencia de 2 actual por 2 hasta que sea mayor que el número dado:

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2

print(power_of_two)

Aquí, power_of_two <= number es la condición que usa un operador de comparación, y power_of_two *= 2 actualiza la variable en cada iteración usando un operador de asignación aumentada. Una vez que power_of_two supera a number, la condición pasa a ser False y el bucle se detiene.

challenge icon

Desafío

Principiante

Escribe un programa que reciba una entrada, un número float.

Usa un bucle while para dividir la entrada entre 2 mientras el número sea mayor o igual a 3.5.

Imprime el primer número que sea menor que 3.5.

Pruébalo tú mismo

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals

Practica por tu cuenta: Compilador de Python online