jueves, 18 de septiembre de 2014

Tutorial de Python parte 8 - Búcle while




Continuamos con los conceptos básicos del lenguaje Python y en esta ocasión vamos a ver una estructura de control llamada while.

while permite ejecutar un búcle mientras la condición es verdadera, esto permite iterar repetidas veces hasta que la condición deja de cumplirse, este tipo de búcles son ideales para recorrer por ejemplo los elementos de arrays como List y Tuples.

Al igual que vimos en la estructura if, en la estructura while tendremos que hacer uso de la indentación para evitar errores de ejecución.

Como podemos ver en el siguiente ejemplo la condición se cumple ya que"inicio" es menor que "final", esto permitirá iterar en el búcle hasta que esta condición deje de cumplirse, gracias a que incrementamos en 1 en cada iteración el valor de la variable "inicio" inicio += 1, de lo contrario, se convertiría en un búcle infinito, teniendo la variable "inicio" siempre el valor 0.

inicio = 0
final = 10
while (inicio < final):
   print(inicio)
   inicio += 1 #por cada iteracion incrementar en 1

En el lenguaje Python, tenemos la posibilidad de incluir else para ejecutar una instrucción cuando la condición deja de cumplirse ...

inicio = 0
final = 10
while (inicio < final):
   print(inicio)
   inicio += 1 #por cada iteracion incrementar en 1
else: print(inicio, "no es menor que", final)

También tenemos la posibilidad de detener la ejecución del búcle en algún punto de la iteración a través de la palabra break.

Por ejemplo, en el siguiente ejemplo el búcle se detiene al llegar a 5 ...

inicio = 0
final = 10
while (inicio < final):
 print(inicio)
 if (inicio == 5): break
 inicio += 1

Ejemplo de interar en los elementos de una lista ...

index = 0
lista = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
while (index < len(lista)):
 print(lista[index])
 index += 1

La función len() nos permite obtener el número total de elementos del array.

Código del capítulo del vídeo tutorial ...

inicio = 0
final = 10

while (inicio < final):
 print(inicio)
 inicio += 1
 
while (inicio < final):
 print(inicio)
 inicio += 1
else: print(inicio, "no es menor que", final)

#Romper la iteracion en un determinado punto con break

start = 0
end = 10
while (start < end):
 print(start)
 if (start == 5): 
  break
 start += 1
 

#Recorrer los elementos de un array
index = 0
lista = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
while (index < len(lista)):
 print(lista[index])
 index += 1