MAYO 21/2019

 Bucle while

En Python tiene una palabra reservada llamada while que nos permite ejecutar ciclos, o bien secuencias periódicas que nos permiten ejecutar código múltiples veces.
El ciclo while nos permite realizar múltiples iteraciones basándonos en el resultado de una expresión lógica que puede tener como resultado un valor True o False.

 Tipos de Bucle ‘while’

A continuación, se presentan algunos ejemplos del uso del bucle while:

 Bucle ‘while’ controlado por Conteo

A continuación, se presenta un ejemplo del uso del bucle while controlado por conteo:
suma, numero = 0, 1

while numero <= 10:
    suma = numero + suma
    numero = numero + 1
print "La suma es " + str(suma)
En este ejemplo tiene un contador con un valor inicial de cero, cada iteración del while manipula esta variable de manera que incremente su valor en 1, por lo que después de su primera iteración el contador tendrá un valor de 1, luego 2, y así sucesivamente.
Eventualmente cuando el contador llegue a tener un valor de 10, la condición del ciclo numero <= 10 sera False, por lo que el ciclo terminará arrojando el siguiente resultado.

Bucle ‘while’ controlado por Evento

A continuación, se presenta un ejemplo del uso del bucle while controlado por Evento:
promedio, total, contar = 0.0, 0, 0

print "Introduzca la nota de un estudiante (-1 para salir): "
grado = int(raw_input()) 
while grado != -1:
    total = total + grado
    contar = contar + 1
    print "Introduzca la nota de un estudiante (-1 para salir): "
    grado = int(raw_input())
promedio = total / contar
print "Promedio de notas del grado escolar es: " + str(promedio)
En este casi el evento que se dispara cuando el usuario ingresa el valor -1, causando que el bucle while se interrumpo o no se inicie.

Bucle ‘while’ con ‘else’

Al igual que la sentencia if, la estructura while también puede combinarse con una sentencia else).
El nombre de la sentencia else es equivocada, ya que el bloque else se ejecutará en todos los casos, es decir, cuando la expresión condicional del while sea False, (a comparación de la sentencia if).
promedio, total, contar = 0.0, 0, 0
mensaje = "Introduzca la nota de un estudiante (-1 para salir): "

grado = int(raw_input(mensaje))
while grado != -1:
    total = total + grado
    contar += 1
    grado = int(raw_input(mensaje))
else:
    promedio = total / contar
    print "Promedio de notas del grado escolar: " + str(promedio)
La sentencia else tiene la ventaja de mantener el mismo nombre y la misma sintaxis que en las demás estructuras de control.

Sentencias utilitarias

A continuación, se presentan algunos ejemplos del uso de sentencias utilitarias usadas en el bucle while:

 Sentencia break

A continuación, se presenta un ejemplo del uso del bucle while controlado la sentencia break:
variable = 10

while variable > 0:
    print 'Actual valor de variable:', variable
    variable = variable -1
    if variable == 5:
        break
Adicionalmente existe una forma alternativa de interrumpir o cortar los ciclos utilizando la palabra reservada break.
Esta nos permite salir del ciclo incluso si la expresión evaluada en while (o en otro ciclo como for) permanece siendo True. Para comprender mejor use el mismo ejemplo anterior pero se interrumpe el ciclo usando la sentencia break.

 Sentencia continue

A continuación, se presenta un ejemplo del uso del bucle while controlado la sentencia continue:
variable = 10

while variable > 0:              
   variable = variable -1
   if variable == 5:
      continue
   print 'Actual valor de variable:', variable
La sentencia continue hace que pase de nuevo al principio del bucle aunque no se haya terminado de ejecutar el ciclo anterior.

Ejemplos

 Sucesión de Fibonacci

Ejemplo de la Sucesión de Fibonacci con bucle while:
a, b = 0, 1
while b < 100:
    print b,
    a, b = b, a + b

Comentarios

Entradas populares de este blog

Clase # 5 Operadores racionales y lógicos

Clase # 4 Software y Algoritmos

Clase # 3 (Mayo 21) Fundamentos de Algoritmo