Introducción
Los bucles son uno de los conceptos fundamentales de los lenguajes de programación. Los bucles son útiles cuando desea repetir un determinado bloque de código varias veces hasta que se cumpla una determinada condición.
Hay dos construcciones de bucle básicos en Python for
y while
bucle.
Este tutorial ilustra los fundamentos de while
los bucles en Python. También le mostraremos cómo usar la cláusula else
y las continue
break
y continue.
Python mientras bucle
El while
bucle se ejecuta sus estados un número desconocido de veces hasta que la condición se evalúa dadas a true
.
El while
Python tiene la siguiente forma:
while EXPRESSION:
STATEMENT(S)
La while
comienza con la while
, seguida de la expresión condicional.
El EXPRESSION
se evalúa antes de ejecutar las declaraciones. Si la condición se evalúa como true
, se ejecutan STATEMENT(S)
De lo contrario, si la condición se evalúa como false
, el ciclo se termina y el control del programa se pasa a la instrucción que sigue.
El STATEMENT(S)
comienza con una sangría y termina con la primera línea sin sangría. La mayoría de las personas optan por utilizar la sangría de 4 o 2 espacios. La Guía de estilo oficial para el código Python recomienda usar 4 espacios por nivel de sangría y evitar mezclar el uso de tabulaciones y espacios para la sangría.
Echemos un vistazo al siguiente código de ejemplo que incrementa e imprime el valor actual de la variable i
siempre que sea menor que cinco:
i=0
while i < 5:
i += 1
print('number:', i)
El ciclo de repetición continúa hasta que i
es menor o igual a cinco. Producirá la siguiente salida:
number: 1
number: 2
number: 3
number: 4
number: 5
Python admite operaciones de comparación estándar:
a == b
: verdadero sia
yb
son iguales.a!= b
: verdadero sia
yb
no son iguales.a > b
: verdadero sia
es mayor queb
.a >= b
: verdadero sia
es igual o mayor queb
.a < b
: verdadero sia
es menor queb
.a <= b
: verdadero sia
es igual o menor queb
.
Para negar la expresión condicional, use el operador not
i=0
while not i >= 5:
i += 1
print('number:', i)
Declaraciones de romper y continuar
El break
y continue
le permiten controlar la ejecución del while
de bucle.
La break
termina el ciclo actual y pasa el control del programa a la sentencia que sigue al ciclo terminado. La situación más común es usar break
para terminar el bucle cuando se cumple una determinada condición.
En el siguiente ejemplo, la ejecución del ciclo se detiene cuando el elemento iterado actual es igual a 2
.
i=0
while i < 5:
i += 1
if i == 2:
break
print('number:', i)
Number: 1
La continue
sale de la iteración actual de un bucle y pasa el control del programa a la siguiente iteración del bucle.
En el siguiente ejemplo, una vez que el objeto iterado actual es igual a 2
la continue
hará que el bucle regrese al principio y continúe con la siguiente iteración.
i=0
while i < 5:
i += 1
if i == 2:
continue
print('number:', i)
number: 1
number: 3
number: 4
number: 5
Otra cláusula
A diferencia de otros idiomas, en Python, el while
de bucle tiene un opcional else
while EXPRESSION:
STATEMENT(S)
else:
STATEMENT(S)
Las declaraciones dentro de la else
solo se ejecutan cuando EXPRESSION
se evalúa como false
. Si se genera una excepción o si el bucle termina con la break
, no se ejecutará.
Aquí hay un ejemplo:
i=0
while i < 5:
i += 1
print('number:', i)
else:
print('Loop completed.')
number: 1
number: 2
number: 3
number: 4
number: 5
Loop completed.
Veamos qué sucede cuando usa la break
para salir del circuito:
i=0
while i < 5:
i += 1
if i == 2:
break
print('number:', i)
else:
print('Loop completed.')
La declaración dentro de la else
no se ejecuta porque la expresión no evaluó false
:
Number: 1
La else
cláusula con un while
de bucle no se utiliza a menudo. Una situación común es cuando planea romper un ciclo y si el ciclo continúa ejecutándose hasta false
, puede ejecutar algunas declaraciones o funciones.
Bucle mientras infinito
Un ciclo infinito es un ciclo que se repite indefinidamente y nunca termina hasta que finaliza el programa. Si la condición siempre se evalúa como verdadera, se obtiene un bucle infinito.
Los bucles infinitos se utilizan normalmente para hacer que el programa espere a que ocurra un evento externo. Generalmente, en Python, se crea un bucle infinito con while True:
lugar de True
, también puede usar cualquier otra expresión que siempre devuelva true
.
Aquí hay un ejemplo de un while
infinito que le pedirá que ingrese " Sí ":
while True:
i = input('Please enter \'Si\': ')
if i.strip() == 'Si':
break
while
ciclo while funcionará hasta que ingrese "Sí":
Please enter 'Si': 3
Please enter 'Si': l
Please enter 'Si': 3
Please enter 'Si': No
Please enter 'Si': Si
Otra forma de finalizar un bucle infinito es presionar CTRL+C
Al escribir bucles infinitos, asegúrese de utilizar la break
para salir del bucle en algún momento.
Conclusión
El while
bucle se ejecuta repetidamente sus estados, siempre y cuando la condición se evalúa dados a true
.