logo cosasdedevs
Cómo utilizar el bucle WHILE en Python

Cómo utilizar el bucle WHILE en Python



My Profile
May 19, 2021

¡Hola! ¿Qué ahí? Espero que estéis muy bien 😁. En el tutorial de hoy vamos a seguir mejorando la ruta de iniciación en Python y esta vez vamos a ver que son los bucles WHILE y como utilizarlos. Además siempre acompañado con muchos ejemplos para que quede más claro 💪.

¿Qué son los bucles?

En programación, los bucles son bloques de código que se ejecutan un número x de veces hasta que se cumple una condición.

¿Qué es un bucle WHILE?

La traducción de while es "mientras" y en programación sería algo así como "ejecuta este bloque de código hasta que se cumpla una condición".

Vale, muy bien la teoría, pero vamos a ver un ejemplo práctico:

num = 0

while num < 5:
    print(f'Estamos dentro del bucle while y el valor actual de num es {num}')
    num += 1

print(f'El valor final de num es {num}')

En este bucle tenemos una condición; mientras la variable num sea menor a 5 quiero que ejecutes este bloque de código. Como su valor es 0, se ejecutará la primera vez, imprimirá el mensaje e incrementará el valor de num en 1, además se seguirá ejecutando el bloque de código hasta que num alcance el valor de 5, entonces no se cumplirá la condición y finalizará el bucle.

¿ELSE en un bucle WHILE?

Si queremos realizar una acción al finalizar el bucle while, podemos añadir un bloque else al final para realizar la acción que necesitemos:

num = 0

while num < 5:
    print(f'Estamos dentro del bucle while y el valor actual de num es {num}')
    num += 1
else:
    print(f'El valor final de num es {num}')

¿DO-WHILE en Python?

Los bucles do-while son similares a los bucles while, pero en este caso siempre tendremos al menos UNA EJECUCIÓN del bucle, ya que la expresión no se valora hasta el final. En Python no existe este tipo de bucle, pero podríamos emularlo de la siguiente forma:

num = 10

while True:
    print(f'El valor de num es {num}')
    num += 1
    if num > 5:
        break

print(f'El valor final de num es {num}')

En este caso siempre entramos en el bucle while, ya que la expresión es True, mostramos el mensaje e incrementamos el valor de num. Por último, comprobamos si num es mayor a 5, si es así, utilizamos la sentencia "break" que fuerza el fin de un ciclo aunque se siga cumpliendo la condición.

El problema en este caso sería que no podríamos utilizar el bloque else, ya que al utilizar break, este bloque es ignorado. Para resolver esto, podríamos hacer unos cambios en el código para resolver este problema:

num = 10
work = True

while work:
    print(f'El valor de num es {num}')
    num += 1
    if num > 5:
        work = False
else:
    print(f'El valor final de num es {num}')

En este caso cambiamos el valor booleano True por la variable, de esta forma cuando se cumple la condición de la sentencia if, cambiaremos el valor de la variable y de esta forma pararemos el bucle y se ejecutará el bloque else.

Importante

Hay que tener mucho cuidado cuando usamos este tipo de bucles, ya que si no controlamos de forma adecuada el fin del ciclo, este nunca terminará y llegará un momento en el que nos quedemos sin memoria, lo que hará que dejemos frita nuestra app y la máquina en la que se está ejecutando.

Espero que este post te ayude y como siempre, te recomiendo seguirme en Twitter para estar al tanto de los nuevo contenido. Ahora también puedes seguirme en Instagram donde estoy subiendo tips, tutoriales en vídeo e información sobre herramientas para developers.

Por último os dejo mi guía para aprender a trabajar con APIs donde explico todo el funcionamiento de una API, el protocolo HTTP y veremos como construir una API con arquitectura REST.

Nos leemos 👋.

2086 vistas

🐍 Sígueme en Twitter

Si te gusta el contenido que subo y no quieres perderte nada, sígueme en Twitter y te avisaré cada vez que cree contenido nuevo 💪
Luego ¡Te sigo!

Nos tomamos en serio tu privacidad

Utilizamos cookies propias y de terceros para recopilar y analizar datos sobre la interacción de los usuarios con cosasdedevs.com. Ver política de cookies.