Tutorial "Pythonizate: Fundamentos de Programación” – Estructuras de Control Iterativas

Pythonizate "Aprendiendo a programar"

Este tutorial está siendo elaborado para enseñarte a programar en Python desde cero hasta un nivel intermedio – avanzado. Al momento de finalizarlo serás capaz de crear software sencillo aplicando los conceptos aprendidos e incluso crear su propia interfaz gráfica.


Índice

Contenido
Post
Introducción
Tutorial "Pythonizate: Aprendiendo a Programar" - Introducción
Instalación de entorno de desarrollo y primeros programas
"Pythonizate: Aprendiendo a Programar" - Instalación de entorno de desarrollo y primeros programas
Números, Operadores y Tipos de Datos
Tutorial "Pythonizate: Fundamentos de Programación” – Números, Operadores y Tipos de Datos.
Listas, Tuplas, Diccionario y Entrada por Teclado
Tutorial "Pythonizate: Fundamentos de Programación” - Listas, Tuplas, Diccionario y Entrada por Teclado
Estructura de Control Condicional
Tutorial "Pythonizate: Fundamentos de Programación” – Estructuras de Control Condicionales I

¡Hola mis queridos entusiastas de la programación! En el post del día de hoy vamos a aprender sobre el segundo tipo de estructuras de control de flujo, conocidas como estructuras de control iteración.

¿Qué es una estructura de control iterativa?

En el post anterior estudiamos la estructura de control condicional, donde pudimos notar que su función principal es evaluar si una o más condiciones se cumplen. La estructura de control iterativa es la que nos permite ejecutar un fragmento de código repetidamente, mientras se cumpla la condición establecida. Para esto Python usa dos estructuras cíclicas:

• El bucle while.
• El bucle for.

Bucle While

El bucle while, permite ejecutar repetidamente un bloque de instrucciones siempre que una condición sea verdadera. Cuando la condición se vuelve falsa, el control del programa pasa inmediatamente a la línea posterior al bucle.

La estructura del bucle while es la siguiente:

While(condición):
    acciones
    acciones
    acciones


Los aspectos importantes a saber de el bucle while son:

  1. Esta estructura puede contener una sola instrucción o un bloque de instrucciones.
  2. La condición puede ser cualquier expresión.
  3. El bucle se ejecuta mientras la condición sea verdadera.

Veamos el siguiente ejemplo de un contador:

Input

contador = 0
while (contador <= 10):
   print("El contador va por: ",contador)
   contador = contador + 1

print("El programa ha finalizado")


Output

El contador va por:  0
El contador va por:  1
El contador va por:  2
El contador va por:  3
El contador va por:  4
El contador va por:  5
El contador va por:  6
El contador va por:  7
El contador va por:  8
El contador va por:  9
El contador va por:  10
El programa ha finalizado

Descargue el ejemplo

Primero que nada, nuestra condición era que el bucle se iba a ejecutar hasta que el contador fuera menor o igual a 10, luego finalizaba el programa.

  1. Establecemos la variable contador en cero.
  2. Entra en el ciclo while y verifica la condición, es verdadera? Si.
  3. Entra en el bucle y ejecuta la acción interna.
  4. Imprime por pantalla el valor de la variable, aumenta su valor en 1.
  5. Luego vuelve a empezar el ciclo.
  6. Cuando llega a el valor de la variable contador a 11 verifica si la condición es verdadera, no lo es, sale del bucle y finaliza el programa.

El bucle infinito

Al usar los bucles while debemos tener precaución, porque existe la posibilidad de que nuestro condicional nunca sea falso, dando como resultado un bucle que nunca termina, conocido como bucle infinito.

  • Un bucle infinito podría ser útil en la programación cliente / servidor donde el servidor necesita ejecutarse continuamente para que los programas del cliente puedan comunicarse con él cuando sea necesario.

  • Otro forma de usar el bucle infinito es cuando no se conoce la cantidad de ciclos a ejecutar, este se controla mediante un valor centinela que indica si ya se introdujo el ultimo valor. Por ejemplo:

Input

print("ESTE PROGRAMA CALCULA EL PROMEDIO DE UN CURSO")
print()

contador = 0
total = 0
calificacion = int(input("Introduzca la calificacion del alumno o -1 para terminar el programa: "))

while (calificacion != -1):
   total = total + calificacion
   contador = contador + 1
   calificacion=int(input("Introduzca la calificacion del alumno o -1 para terminar el programa: "))

if (contador != 0):
    total = total / contador
    print()
    print("El promedio del curso fue: ", total)
    print()
else: 
    print("No introdujo ninguna calificacion")

print("El programa ha finalizado")


Output

ESTE PROGRAMA CALCULA EL PROMEDIO DE UN CURSO

Introduzca la calificacion del alumno o -1 para terminar el programa: 10
Introduzca la calificacion del alumno o -1 para terminar el programa: 8
Introduzca la calificacion del alumno o -1 para terminar el programa: 5
Introduzca la calificacion del alumno o -1 para terminar el programa: 1
Introduzca la calificacion del alumno o -1 para terminar el programa: 6
Introduzca la calificacion del alumno o -1 para terminar el programa: -1

El promedio del curso fue:  6.0

El programa ha finalizado

Descargue el ejemplo

No se asusten por la estructura del código, vamos a repasar su ejecución desde el principio hasta el final:

  1. Primero declaramos nuestras variables a usar, calificación que sera nuestro valor centinela, contador que sera quien cuenta el numero de ciclos y total donde se almacenara todas las calificaciones.
  2. Luego pedimos que nuestro valor centinela, cuando se introduzca -1 se terminara el programa.
  3. Entramos en bucle y este verifica si el valor introducido es diferente de -1, lo es? Entra en el bucle y ejecuta el bloque de instrucciones. Este bucle se ejecutara infinitamente hasta que se introduzca el valor -1.
  4. Al introducir -1 sale del bucle y entra en un condicional, aquí se verifica si el contador es distinto de cero, de ser así entra en la sentencia if y ejecuta el bloque de instrucciones. Si el contador es cero se ejecuta la sentencia else diciendo que nunca se introdujo una calificación.
  5. Luego finaliza el programa.

¡Excelenteeee, ya vamos entendiendo la lógica de la programación, estoy muy orgulloso de todos ustedes. Estoy seguro que han aprendido bastante y ahora es que queda camino por recorrer!


Bucle for

Los bucles for se usan cuando se tiene un bloque de código que se desea repetir una cantidad fija de veces, también se usa para recorrer una secuencia

La estructura del bucle for es la siguiente:

for elemento in secuencia:
    print elemento


La diferencia entre el bucle for y el bucle while , es que el segundo debe verificar una condición en cada iteración, mientras que el bucle for no. Por ejemplo:

Input

for i in range(3): 
    print("Valor de la variable es: ", i)
print()
print("El programa ha finalizado")

Output

Valor de la variable es:  0
Valor de la variable es:  1
Valor de la variable es:  2

El programa ha finalizado

Descargue el ejemplo

La función range(n) crea una lista de n números enteros consecutivos que empieza en 0 y acaba en n - 1.

En este ejemplo el bucle for cuenta dede 0 hasta el 2, y el valor es almacenado en la variable i, es decir, en el primer ciclo range() comienza en 0, este valor es asignado a la variable i, en el siguiente ciclorange() vale 1, este valor es asignado a la variable i y así sucesivamente hasta donde se establezca.

Para entenderlo mejor, cambiemos la función range() , por una lista:

Input

for i in [0,1,2]: 
    print("Valor de la variable es: ", i)
print()
print("El programa ha finalizado")


Output

Valor de la variable es:  0
Valor de la variable es:  1
Valor de la variable es:  2

El programa ha finalizado

Descargue el ejemplo

El resultado obtenido es el mismo, recordemos que range() es una lista de números.

También se puede establecer desde y hasta donde va a contar mi bucle for.

Input

for i in range(3,6): #range(desde,hasta-1)
    print("Valor de la variable es: ",i)
print()
print("El programa ha finalizado")


Output

Valor de la variable es: 3
Valor de la variable es: 4
Valor de la variable es: 5

El programa ha finalizado

Descargue el ejemplo

Con range() podemos establecer fácilmente desde donde empieza y hasta donde va a contar.

También podemos decirle de cuanto en cuanto va a contar. Por ejemplo hagamos una tabla de multiplicar:

Input

contador=1
for i in range(3,31,3): #El for cuenta desde el 3 hasta el 31 de 3 en 3
    print("3x",contador,"=",i)
    contador = contador + 1
print()
print("El programa ha finalizado")


Output

3x 1 = 3
3x 2 = 6
3x 3 = 9
3x 4 = 12
3x 5 = 15
3x 6 = 18
3x 7 = 21
3x 8 = 24
3x 9 = 27
3x 10 = 30

El programa ha finalizado

Descargue el ejemplo

De esta forma con la función range() podemos hacer una tabla de multiplicar fácilmente. Uno de los motivos porque se recomienda usar el range() en vez de una lista es porque durante la ejecución del programa ocupan menos memoria en el ordenador.

Como pudimos notar, a la función range() le podemos dar distintos usos, todo depende de lo que queramos hacer.


Para finalizar les dejo una serie de ejemplos del bucle for, para que los estudien. Descargue Ejemplos_For.rar


!Esto fue todo por hoy, nos vemos en el próximo post, donde estudiaremos el control de bucles y las funciones!

Si tienen alguna duda o consulta no duden en dejarla en los comentarios. En el Post Anterior deje planteado un ejercicio, el que lo resuelva va a ganar 0.5 SBD, tienen hasta el miércoles para resolverlo. ¡Éxitos!

"El ser humano es inteligente por naturaleza, la tecnología es solo un complemento"

Gracias por permitirme robar unos pocos minutos de tu vida. Me despido por los momentos mis lectores, que tengan un excelente día, tarde o noche.
╭════════════╮
Sígueme en mi Blog
╰════════════╯

GIF

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center