Logo Studenta

EstructurasRepetitivas - Natalia Bernal

¡Este material tiene más páginas!

Vista previa del material en texto

Codo a Codo inicial
Python
Estructuras repetitivas - Bucles
Les damos la bienvenida
Actual
Proximo
Anterior
Estructuras repetitivas (bucles)
Bucle “while”
Bucle “for”
Bucles en programación
Los bucles son otra herramienta que permiten modificar el flujo de un programa. 
Vimos que los condicionales pueden diferir la ejecución del código según se cumpla una condición u otra.
Asimismo, los bucles repiten un bloque de código en tanto y en cuanto se cumpla una condición o a través del recorrido por elementos de una colección.
Bucle “while” (mientras)
Anteriormente vimos que dentro de un programa podemos evaluar una condición y si ésta es cierta, ejecutamos un bloque de código definido (sentencia if, “si una condición es verdadera”).
Ahora veremos cómo repetir la ejecución de un bloque de código siempre que una expresión sea verdadera (“mientras se cumpla una condición”).
Bucle “while” (mientras)
A continuación un ejemplo con pseudocódigo de un bucle condicional:
Bucle “while” (mientras)
En Python, comenzamos con la palabra reservada while y a continuación la expresión que valida la ejecución del bloque de código indentado (o tabulado) posterior:
Bucle “while” (mientras)
En el ejemplo anterior, mientras no se acierte el ingreso de la palabra_clave la condición siempre sería verdadera (True), en consecuencia nuestro programa ejecutaría sólo esas tres líneas de código una cantidad indeterminada de veces.
Como programadores debemos decidir el momento en que la condición cambie a False para hacer que el bloque while finalice su ejecución, de lo contrario estaríamos frente a un bucle infinito.
Bucle “while” (mientras)
A continuación un ejemplo en Python de un bucle infinito:
La ejecución la podemos interrumpir con
Ctrl + C
Bucle “while” (mientras)
Para el ejemplo anterior, si modificamos el valor de numero dentro del bucle, evitamos que se ejecute infinitamente:
Bucle “while” – sentencia “break”
Retomando el primer ejemplo, si incluimos la sentencia break dentro del bucle, éste se detendrá y continuará con el código posterior al bloque:
Nótese que la condición por la cual se ejecuta break es distinta a la que sostiene el bucle.
Bucle “while” – sentencia “else”
De la misma manera que con la sentencia if, podemos definir una acción a realizar cuando no se cumpla la condición por la que se ejecuta el bloque dentro del bucle:
Aclaración: si el bucle se detiene a causa de la sentencia break, el bloque de código en else no se ejecutará.
Bucle “while” – sentencia “continue”
La instrucción continue nos da la opción de omitir parte de una porción de código dentro del bucle. Es decir, cuando se ejecute éste sentencia el bucle volverá al principio del bloque:
Bucle “for” (para)
El bucle for también repite la ejecución de un bloque de código, pero no en base a una condición como en el bucle while, sino tantas veces como elementos contenga una secuencia o colección(*) a recorrer.
* Las colecciones son tema del siguiente módulo.
Bucle “for”
En el ejemplo anterior con pseudocódigo, podemos ver lo siguiente:
el bloque de código se ejecuta la cantidad de veces definida en tope (líneas 4 a 6)
x cambia su valor en cada vuelta de bucle, ya que cuando vuelve a la línea 4 incrementa su valor en una unidad.
Entonces, x es una variable auxiliar o de control y tope (de acuerdo a su valor) es la secuencia a recorrer, en éste caso desde 1 hasta 5.
Bucle “for”
En Python, la sintaxis resulta más sencilla para éste caso, comenzando con la palabra reservada for, a continuación la variable de control que recorrerá (in) la secuencia (o colección) mencionada al final de la línea:
Bucle “for”
El bucle se ejecutó la misma cantidad de veces ¿pero porque obtuvimos distintos valores para x?
A continuación lo veremos…
Función range()
La función range(), incorporada con el intérprete de Python, devuelve una secuencia de números enteros. 
Puede recibir hasta tres parámetros, siempre números enteros (int) y debe recibir al menos uno para su ejecución, a saber:
si sólo recibe un sólo número entero como argumento, comenzará desde el 0, se incrementará de a una unidad y se detendrá antes del número especificado;
si recibe dos parámetros (enteros), el primero indicará el comienzo de la secuencia, se incrementará de a una unidad y se detendrá antes del segundo;
 si recibe tres parámetros, el primero será el comienzo, el segundo será el final (siempre quedando excluido) y el tercero indicará como se incrementarán (o decrementarán) los valores (paso).
https://docs.python.org/es/3/library/stdtypes.html#typesseq-range
Función range()
A continuación un ejemplo de su ejecución:
Bucle “for” (continuación)
Teniendo en cuenta que las cadenas (o string -str-) son secuencias ordenadas de caracteres, podemos utilizar el bucle for para recorrerlas:
En el ejemplo, en cada vuelta de bucle letra fue tomando secuencialmente el valor de cada carácter de lenguaje.
Al igual que el bucle while, el bucle for admite las sentencias continue, break y else pero no es tan común su utilización.
Más adelante veremos que el bucle for es una de las herramientas principales para el manejo de colecciones de datos en Python.
Fuentes:
https://docs.python.org/es/3/index.html
https://edube.org/study/pe1
https://www.w3schools.com/python/default.asp
Recordá: 
Revisar la Cartelera de Novedades.
Hacer tus consultas en el Foro.
Todo en el Aula Virtual.

Más contenidos de este tema