Python mientras bucle – Part 1

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: 

python 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")
Producción

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())
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *