Python 3 - declaraciones de bucle while

UN while La declaración de bucle en el lenguaje de programación Python ejecuta repetidamente una declaración de destino siempre que una condición dada sea verdadera.

Sintaxis

La sintaxis de un while bucle en el lenguaje de programación Python es -

while expression:
   statement(s)

Aquí, statement(s)puede ser una sola declaración o un bloque de declaraciones con sangría uniforme. losconditionpuede ser cualquier expresión y verdadero es cualquier valor distinto de cero. El ciclo se repite mientras la condición es verdadera.

Cuando la condición se vuelve falsa, el control del programa pasa a la línea inmediatamente siguiente al ciclo.

En Python, todas las declaraciones sangradas por el mismo número de espacios de caracteres después de una construcción de programación se consideran parte de un solo bloque de código. Python usa la sangría como método para agrupar declaraciones.

Diagrama de flujo

Aquí, un punto clave del ciclo while es que es posible que el ciclo nunca se ejecute. Cuando se prueba la condición y el resultado es falso, se omitirá el cuerpo del bucle y se ejecutará la primera instrucción después del bucle while.

Ejemplo

#!/usr/bin/python3

count = 0
while (count < 9):
   print ('The count is:', count)
   count = count + 1

print ("Good bye!")

Salida

Cuando se ejecuta el código anterior, produce el siguiente resultado:

The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!

El bloque aquí, que consta de las declaraciones de impresión e incremento, se ejecuta repetidamente hasta que el recuento no es menor que 9. Con cada iteración, se muestra el valor actual del recuento del índice y luego se incrementa en 1.

El bucle infinito

Un bucle se convierte en bucle infinito si una condición nunca se vuelve FALSA. Debe tener cuidado al usar bucles while debido a la posibilidad de que esta condición nunca se resuelva en un valor FALSO. Esto da como resultado un bucle que nunca termina. Tal bucle se llama bucle infinito.

Un bucle infinito puede ser útil en la programación cliente / servidor donde el servidor necesita ejecutarse continuamente para que los programas cliente puedan comunicarse con él cuando sea necesario.

Ejemplo

#!/usr/bin/python3

var = 1
while var == 1 :  # This constructs an infinite loop
   num = int(input("Enter a number  :"))
   print ("You entered: ", num)

print ("Good bye!")

Salida

Cuando se ejecuta el código anterior, produce el siguiente resultado:

Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number  :11
You entered:  11
Enter a number  :22
You entered:  22
Enter a number  :Traceback (most recent call last):
   File "examples\test.py", line 5, in 
      num = int(input("Enter a number  :"))
KeyboardInterrupt

El ejemplo anterior va en un bucle infinito y debe usar CTRL + C para salir del programa.

Uso de la instrucción else con bucles

Python admite tener un else declaración asociada con una declaración de bucle.

  • Si el else la declaración se usa con un for bucle, el else La instrucción se ejecuta cuando el ciclo se ha agotado iterando la lista.

  • Si el else la declaración se usa con un while bucle, el else La sentencia se ejecuta cuando la condición se vuelve falsa.

El siguiente ejemplo ilustra la combinación de una instrucción else con una instrucción while que imprime un número siempre que sea menor que 5; de lo contrario, se ejecuta la instrucción else.

Ejemplo

#!/usr/bin/python3

count = 0
while count < 5:
   print (count, " is  less than 5")
   count = count + 1
else:
   print (count, " is not less than 5")

Salida

Cuando se ejecuta el código anterior, produce el siguiente resultado:

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

Suites de declaración única

Similar a if sintaxis de declaración, si su while La cláusula consta solo de una única declaración, se puede colocar en la misma línea que el encabezado while.

Ejemplo

Aquí está la sintaxis y el ejemplo de one-line while cláusula -

#!/usr/bin/python3

flag = 1
while (flag): print ('Given flag is really true!')
print ("Good bye!")

El ejemplo anterior entra en un bucle infinito y debe presionar las teclas CTRL + C para salir.