Recibe actualizaciones por: rss | twitter | email

While loop en Python

Escrito por:
Fecha: 2020-06-06 08:55:00 00:00

Algo que caracteriza a las computadoras es lo buenas que son realizando tareas repetitivas, y para ello los bucles son más que importantes, por lo tanto una de las primeras cosas que aprendes cuando aprendes programar son las condiciones (if) y los bucles.

Los hay while, until y for como los principales, veamos el while en Python ahora.

La sintaxis de while en Python es sencilla:

while EXPRESION:
	COMANDOS

El loop comienza cuando la expresión es evaluada, si es verdadera (1) entonces los comandos o el comando siguiente se ejecutan, de otro modo se pasa al siguiente comando. En muchos lenguajes de programación existe una delimitación más marcada entre donde comienza y donde termina, pues normalmente existe un end al final del bucle, en Python simplemente esta dado por la indentación de los comandos. Veamos:

i=0
while i < 10:
    i += 1
    print(i)
print('Aqui termina el bucle')

Como puede verse el bucle termina con la primer linea sin indentación.

Como condición podemos usar este tipo de operaciónes comparativas

  • a == b - Verdadero cuando son iguales a y b
  • a != b - Verdadero si a y b son distintos
  • a > b - Verdadero si a es mayor a b
  • a >= b - Verdadero si a es mayor o igual a b
  • a < b - Verdadero si a es menor a b
  • a <= b - Verdadero si a es menor o igual que b

Tambien tenemos el operador lógico not que podemos usar en la evaluación de cualquiera de las comparaciones arriba indicadas.

    i=0
    while not i >= 10:
        i += 1
        print(i)
    print('Aqui termina el bucle')

Este código tendrá el mismo resultado que el primer ejemplo.

else

A veces queremos hacer algo si la condición se cumple y algo diferente si no se cumple, para eso tenemos la clausula else

    i=0
    while i < 10:
        i += 1
        print(i)
else
    print('la condicion es falsa')
print('Ya paso el bucle')

En otros lenguajes solo existe else para if, en Python lo tenemos en while, los comandos de else se ejecutando cuando la condición es falsa, pueda que los comandos por verdadero se hayan ejecutado o no, pero si no queremos que se ejecuten los comandos de else cuando los de verdadero se ejecutaron debemos usar break

    i=0
    while i < 10:
        i += 1
        print(i)
    if i == 10:
        break
    else
        print('la condicion es falsa')
    print('Ya paso el bucle')

En el caso de arriba else nunca se ejecutará, pero te da algunas ideas de como sacar provecho de esta opción en Python.

Ya vimos como funciona break, veamos ahora continue, aclaremos que break rompe el loop y pasa el control al primer comando no indentado, continue rompe el loop y pasa el control a while, es decir hacia arriba.

    i=0
    while i < 10:
        i += 1
    if i == 5:
    continue
        print(i)

El número 5 no va a ser impreso, pues justo antes de imprimirlo el bucle se rompe y vuelve arriba, donde nuevamente se agrega un dígito al contador, por lo que imprime del 1 al 10, sin el 5.

Como puede verse de esta pequeña guía, el uso de while es muy poderoso en programación, y en Python es sencillo de usar.