Python While Loop se usa para ejecutar un bloque de declaraciones repetidamente hasta que se cumpla una condición dada. Y cuando la condición se vuelve falsa, se ejecuta la línea inmediatamente después del bucle en el programa. Mientras que el bucle entra en la categoría de iteración indefinida . La iteración indefinida significa que la cantidad de veces que se ejecuta el ciclo no se especifica explícitamente de antemano.
Sintaxis:
while expression: statement(s)
Las declaraciones representan todas las declaraciones sangradas por el mismo número de espacios de caracteres después de que una construcción de programación se considera parte de un solo bloque de código. Python usa la sangría como su método de agrupar declaraciones. Cuando se ejecuta un bucle while, primero se evalúa expr en un contexto booleano y, si es verdadero, se ejecuta el cuerpo del bucle. Luego, la expresión se verifica nuevamente, si aún es verdadera, el cuerpo se ejecuta nuevamente y esto continúa hasta que la expresión se vuelve falsa.
Diagrama de flujo de While Loop:
Ejemplo 1: bucle while de Python
Python3
# Python program to illustrate # while loop count = 0 while (count < 3): count = count + 1 print("Hello Geek")
Hello Geek Hello Geek Hello Geek
En el ejemplo anterior, la condición para while será verdadera siempre que la variable de contador (recuento) sea menor que 3.
Ejemplo 2: bucle while de Python con lista
Python3
# checks if list still # contains any element a = [1, 2, 3, 4] while a: print(a.pop())
4 3 2 1
En el ejemplo anterior, hemos ejecutado un ciclo while sobre una lista que se ejecutará hasta que haya un elemento presente en la lista.
Declaración única mientras bloque
Al igual que el bloque if, si el bloque while consiste en una sola declaración, podemos declarar el ciclo completo en una sola línea. Si hay varias instrucciones en el bloque que forma el cuerpo del ciclo, se pueden separar con punto y coma (;).
Python3
# Python program to illustrate # Single statement while block count = 0 while (count < 5): count += 1; print("Hello Geek")
Producción:
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek
Declaraciones de control de bucle
Las declaraciones de control de bucle cambian la ejecución de su secuencia normal. Cuando la ejecución sale de un ámbito, todos los objetos automáticos que se crearon en ese ámbito se destruyen. Python admite las siguientes declaraciones de control.
Continuar Declaración
La declaración de continuación de Python devuelve el control al comienzo del bucle.
Ejemplo: bucle while de Python con declaración de continuación
Python3
# Prints all letters except 'e' and 's' i = 0 a = 'geeksforgeeks' while i < len(a): if a[i] == 'e' or a[i] == 's': i += 1 continue print('Current Letter :', a[i]) i += 1
Producción:
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k
Declaración de ruptura
Python Break Statement saca el control del bucle.
Ejemplo: bucle while de Python con declaración de interrupción
Python3
# break the loop as soon it sees 'e' # or 's' i = 0 a = 'geeksforgeeks' while i < len(a): if a[i] == 'e' or a[i] == 's': i += 1 break print('Current Letter :', a[i]) i += 1
Producción:
Current Letter : g
Declaración de aprobación
La instrucción pass de Python para escribir bucles vacíos. Pass también se usa para declaraciones de control, funciones y clases vacías.
Ejemplo: bucle while de Python con declaración de paso
Python3
# An empty loop a = 'geeksforgeeks' i = 0 while i < len(a): i += 1 pass print('Value of i :', i)
Producción:
Value of i : 13
Mientras bucle con otra cosa
Como se discutió anteriormente, el ciclo while ejecuta el bloque hasta que se cumple una condición. Cuando la condición se vuelve falsa, se ejecuta la declaración inmediatamente después del bucle. La cláusula else solo se ejecuta cuando su condición while se vuelve falsa. Si sale del bucle o si se genera una excepción, no se ejecutará.
Nota: El bloque else justo después de for/while se ejecuta solo cuando el ciclo NO termina con una instrucción break.
Python3
# Python program to demonstrate # while-else loop i = 0 while i < 4: i += 1 print(i) else: # Executed because no break in for print("No Break\n") i = 0 while i < 4: i += 1 print(i) break else: # Not executed as there is a break print("No Break")
Producción:
1 2 3 4 No Break 1
Declaración controlada por centinela
En esto, no usamos ninguna variable de contador porque no sabemos cuántas veces se ejecutará el bucle. Aquí el usuario decide cuántas veces quiere ejecutar el bucle. Para ello, utilizamos un valor centinela. Un valor centinela es un valor que se utiliza para terminar un ciclo cada vez que un usuario lo ingresa, generalmente, el valor centinela es -1.
Ejemplo: bucle while de Python con entrada de usuario
Python3
a = int(input('Enter a number (-1 to quit): ')) while a != -1: a = int(input('Enter a number (-1 to quit): '))
Producción:
Explicación:
- Primero, le pide al usuario que ingrese un número. si el usuario ingresa -1, entonces el ciclo no se ejecutará
- El usuario ingresa 6 y el cuerpo del bucle se ejecuta y nuevamente solicita la entrada
- Aquí el usuario puede ingresar muchas veces hasta que ingrese -1 para detener el ciclo
- El usuario puede decidir cuántas veces quiere ingresar la entrada
Publicación traducida automáticamente
Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA