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:
codeEl 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.
Desafío
PrincipianteEscribe 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
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos10FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz2Variables
NúmerosStringBooleanConvenciones de nomenclaturaVariables vacíasRepaso - Inicializar variables8Bucles
Bucle ForBucle WhileBreakContinueRepaso - FactorialLa función RangeBucle anidadoRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación9Funciones
Declarar una funciónArgumentosRetornoResumen - Función SigmaResumen - Función de validaciónValores por defectoPractica por tu cuenta: Compilador de Python online