Curso de Python – BUCLES

Bucles en Python

Las condicionales le permiten ejecutar código diferente dependiendo de ciertas condiciones, mientras que los bucles le permiten ejecutar el mismo código una cierta cantidad de veces siempre que se cumplan ciertas condiciones.

 

 

Bucle While

While

El bucle while ejecuta una sección de código cuando la condición se cumple.

años = 0

while años < 18:

        años = años + 1

        print “Tienes “ + str(años)

 

La variable edad empieza con valor 0. La condición de que la edad es menor de 18 años es verdadera (0 es menor de 18), así que entramos en el bucle. Se imprime un mensaje que indica que la edad ha aumentado en 1 y que el usuario ahora tiene 1 año. Tenga en cuenta que el operador + procesa las cadenas concatenando ambas cadenas. No puede concatenar números y cadenas, por lo que deberá usar la función str (de string, cadena) para crear cadenas a partir de números, que analizaremos con más detalle en capítulos futuros.

Esto volverá a evaluar la condición y como 1 sigue siendo menor de 18, se volverá a ejecutar el código para aumentar la edad en 1 año y la edad se imprimirá en la pantalla. El bucle continúa hasta que la edad sea 18. En este punto, la condición ya no es verdadera y el programa continúa ejecutando las sentencias que siguen al bucle.

 

Bucle infinito

Ahora imagine si olvida la instrucción que incrementa la edad. En este caso, la condición de que la edad sea mayor de 18 años nunca se cumple, siempre es 0, y el bucle escribe sin cesar en la pantalla que ha llegado a 0. Este es el llamado bucle infinito. Que fácilmente puede dañar tu computador.

Sin embargo, los bucles infinitos pueden ser útiles. Por ejemplo, veamos un pequeño programa que repite todo lo que dice el usuario  hasta que el usuario escribe “adiós”.

while True:

       entrada_de_datos = raw_input(“> “)

       if entrada_de_datos== “adios”:

              break

       else:

              print entrada_de_datos

Para obtener lo que el usuario ha escrito en la pantalla, use la función raw_input. No necesita saber exactamente qué es una función o cómo funciona. Simplemente acepte cada iteración del bucle y la variable de entrada contendrá todo lo que el usuario haya escrito hasta que se presione la tecla Enter. 

 A continuación, compruebe si la entrada del usuario es Adiós. En este caso, se ejecuta el comando romper. O, si es otra entrada, la entrada del usuario se mostrará en la pantalla. 

La palabra clave break (romper) sale del bucle actual. 

Este bucle también podría escribirse como:

 

salir = False

while not salir:

   c= raw_input()

     if entrada_de_datos== “adios”:

              salir = True

    else:

              print entrada

 

Otra palabra clave que puedes encontrar dentro del bucle es Continue (continuar). Como puede imaginar, vaya directamente a la siguiente iteración del bucle.

años = 0

while anios < 18:

años = anios + 1

if anios % 2 == 0:

       continue

print “Felicidades, tienes “ + str(anios)

 

Como puede ver, este es un pequeño cambio en el programa de celebración. Esta vez, agregué un if para verificar si la edad es par. En este caso, en lugar de imprimir un mensaje, salta a la siguiente iteración. En otras palabras, con este cambio, el programa solo emitirá felicitaciones si tiene una edad impar.

 

 

For en Python

for … in

Para aquellos con experiencia en lenguajes, este bucle es una agradable sorpresa. En Python for se usa como una forma común de iterar a través de secuencias. Por lo tanto, nuestro objetivo es facilitar su uso para ese propósito. 

 Así es como se ve un bucle for en Python.

lista_de_estudiantes  = [“camilo”, “diana”, “luisa”]

for elemento in lista_de_estudiantes :

    print elemento

 

Como se mencionó anteriormente, los for se utilizan para recorrer secuencias, por lo que este ejemplo usa un tipo de secuencia como una lista.

Lea el encabezado del bucle como lenguaje natural: “Para cada elemento de la secuencia”. Y eso es exactamente lo que hace el bucle. Ejecute estas líneas de código para cada elemento de la secuencia.

la cabecera del bucle consigue el siguiente elemento de la secuencia y lo almacena en una variable denominada elemento. Por lo tanto, la primera iteración del bucle del elemento equivale a “camilo”, la segunda iteración es “diana” y la tercera iteración es “luisa”.

Por ejemplo, en C o C ++, itera sobre posiciones en lugar de elementos.

int array[] = {23, 235, 35, 452, 215};

int i;

for(i = 0; i < 5; i++) {

   printf(“%d\n”, array[i]);

}

 

Es decir, hay un bucle for que incrementa la variable i por iteracion de 0 al tamaño de cada secuencia de iteración y usa esa variable como índice para obtener e imprimir cada elemento.

Pero, ¿qué sucede si desea utilizar for, como en C o Java, digamos imprimir un número entre 30 y 50? No te preocupes, no tienes que crear una lista y agregar números del 30 al 50 uno por uno. Python proporciona una función llamada range que puede usar para crear una lista desde el primer número hasta el segundo número. Después de ver finalmente a qué se refiere este término repetitivo.años

Deja un comentario

Tu dirección de correo electrónico no será publicada.