web stats
Back
Featured image of post Python 10 – Bucles (For / While)

Python 10 – Bucles (For / While)

Son tipos de estructuras de control de flujo, que funcionan de forma diferente a los if / else.

Son tipos de estructuras de control de flujo, que funcionan de forma diferente a los if / else. En este caso, se indica un loop, bucle, o repetición que durará mientras se cumpla determinada condición.

for

For se utiliza para recorrer todos los elementos de una lista, de uno en uno, y ejecutar acciones sobre cada uno de sus elementos.

Vamos a verlo con un ejemplo. Supongamos que tenemos una lista de colores:

colores = ['azul','rojo','amarillo','verde']

Si quisieramos imprimir los valores que se encuentran en cada uno de sus incides, podríamos scribirlo así:

print(colores[0])
print(colores[1])
print(colores[2])
print(colores[3])

Si añadieramos otro elemento más a la lista, tendríamos que definir una nueva sentencia print() con su nuevo índice para que se imprima.

Esto podríamos hacerlo de manera mucho más simple y controlada utilizando for:

colores = ['azul','rojo','amarillo','verde']
for color in colores:
     print(color)
PS C:> python .\bucles.py
azul
rojo
amarillo
verde

Esto significaría: para cada elemento (que vamos a llamar color), de la lista colores, haz un print() del elemento.

Lógicamente, dentro de for se puede utilizar otro tipo de estructuras según nuestras necesidades. Por ejemplo, podemos parar el programa cuando el color sea amarillo.

colores = ['azul','rojo','amarillo','verde']
for color in colores:
     if color == 'amarillo':
         break
     print(color)
PS C:> python .\bucles.py
azul
rojo    

Otro ejemplo de for. Vamos a imprimir un rango de números, del 1 al 5, ayudándonos del constructor range()

for num in range(1, 5):
     print(num)
PS C:> python .\bucles.py
1
2
3
4    

for también funciona con los difererentes caracteres de un string, por ejemplo:

for letra in "Python":
     print(letra)
PS C:> python .\bucles.py
P
y
t
h
o
n

while

Es un loop algo parecido a for, aunque en este caso se recorren los elementos MIENTRAS la condición dada sea cierta. Se podría ver como un for condicional. Hay que tener cuidado con los while, ya que una vez que se ejecuta, vuelve al inicio, por lo que hay que asegurarse que tenemos algún mecanismo de control.

Así en un par de lineas parece complejo, pero como siempre, vamos a verlo con un ejemplo: Vamos a definir un número. Mientras este numero sea inferior a 10, lo imprimimos. Ya que numero es un valor fijo, el bucle se repitiría infinitamente con el mismo valor, por lo que nos aseguramos de que tras cada ejecución, el valor de numero de incremente. En el momento que el número sea 10, la condición del while ya no se cumple, por lo que se salta el bucle.

count = 20
while count < 10:numero = 2
while numero < 10:
     print(numero)
     numero = numero +1
PS C:> python .\bucles.py
2
3
4
5
6
7
8
9    
comments powered by Disqus
Creado con Hugo