Menu
Coddy logo textTech

Bucle While

Parte de la sección Fundamentos 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 condición.

Para usar un bucle while, escribe:

while condition:
	code

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

La condición normalmente se forma usando operadores de comparación como <= (menor o igual que), >= (mayor o igual que), < (menor que), > (mayor que) o == (igual a). El bucle sigue ejecutándose mientras esa comparación se evalúe como True y se detiene en cuanto 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 aumentada 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 para siempre.

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 actual de 2 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 utiliza un operador de comparación, y power_of_two *= 2 actualiza la variable en cada iteración mediante un operador de asignación aumentada. Una vez que power_of_two supera number, la condición se convierte en False y el bucle se detiene.

challenge icon

Desafío

Principiante

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

Usa un bucle while para dividir la entrada entre 2 mientras el número sea mayor o igual que 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 Fundamentos

Practica por tu cuenta: Compilador de Python online