Comprender los bucles en python

Cuando escribe código, a menudo necesita encontrar una manera de repetir algo, por eso es necesario utilizar los bucles en python. Es posible que deba iterar sobre caracteres en una cadena u objetos en una cadena. List es el proceso de iterar sobre algo que se realiza a través de un bucle.

Los bucles en python, son construcciones de programación que pueden iterar sobre bloques. Estos bloques pueden ser caracteres en una cadena o líneas en un archivo.

Python tiene dos construcciones de bucle:

  • Bucle for
  • Bucle while

En lugar de iterar sobre una secuencia, puede usar un bucle para hacer lo mismo varias veces. Un ejemplo es un servidor web, que es esencialmente un bucle infinito. El servidor escucha y espera a que el cliente envíe un mensaje. Cuando se recibe el mensaje, el bucle llama a la función en consecuencia.

Otro ejemplo es un bucle de juego: ganar o perder un juego generalmente no termina el juego. En su lugar, se le preguntará si desea volver a jugar. Esto también se puede hacer envolviendo todo el programa en un bucle.

Empecemos por for

Crear en python un bucle for

Este loop for es la construcción de bucle más popular en Python. for crea un bucle usando la siguiente sintaxis:

for x in iterable:
    # do something

El código anterior no hace nada, for revisa la lista, un elemento a la vez:

>>> mi_lista = [1, 2, 3]
>>> for item in mi_lista:
...     print(item)
... 
1
2
3

En este código, list Contiene tres enteros. El siguiente for un bucle que dice «imprime un elemento para cada elemento de la lista».

Por supuesto, la mayoría de las veces realmente quieres hacer algo por el proyecto. Por ejemplo, puedes duplicarlo así:

>>> mi_lista = [1, 2, 3]
>>> for item in mi_lista:
...     print(f'')
... 
2
4
6

Alternativamente, puede imprimir los elementos pares.

>>> mi_lista = [1, 2, 3]
>>> for item in mi_lista:
...     if item % 2 == 0:
...         print(f' is even')
... 
2 is even

Aquí usamos el operador módulo. %encuentra el resto del elemento dividido por 2. Si el resto es 0, sabes que el elemento es par.

Puede usar bucles en python condiciones y otras construcciones de Python para escribir código complejo limitado solo por su imaginación.

Averigüe lo que puede quitar de la lista.

Cadena de bucles en python

Una de las diferencias entre for,  los bucles en Python y otros lenguajes de programación son la capacidad de iterar sobre secuencias arbitrarias. Entonces puede iterar sobre otros tipos de datos.

Veamos las cadenas repetidas.

>>> my_str="abcdefg"
>>> for letter in my_str:
...     print(letter)
... 
a
b
c
d
e
f
g

Esto muestra lo fácil que es iterar sobre cadenas.

A continuación, veamos otro tipo de datos común.

Diccionario de bucles en python

También puede navegar por los diccionarios de Python. De forma predeterminada, la tecla se repite a medida que recorre el diccionario.

>>> users = 
>>> for user in users:
...     print(user)
... 
mdriscoll
guido
steve

Los diccionarios en python le permiten navegar por las claves y los valores del diccionario. items() método:

>>> users = 
>>> for user, password in users.items():
...     print(f"'s password is ")
... 
mdriscoll's password is password
guido's password is python
steve's password is guac

En este ejemplo, especifique la extracción user Después password en cada iteración. Como lo sabes, items() Este método devuelve una vista formateada como una lista de tuplas, por lo que puede extraer cada key: value Asociar e imprimir desde esta vista.

Esto le permite recorrer la tupla y recuperar elementos individuales de la tupla durante el ciclo.

Extrae múltiples valores en tupla durante el ciclo

Es posible que deba iterar a través de la lista de tuplas en python para obtener cada elemento de la tupla. Suena extraño, pero resulta ser una tarea de programación bastante común.

>>> list_of_tuples = [(1, 'banana'), (2, 'apple'), (3, 'pear')]
>>> for number, fruit in list_of_tuples:
...     print(f' - ')
... 
1 - banana
2 - apple
3 - pear

Para ello, aprovechamos que sabemos que cada tupla contiene dos elementos. Conozco de antemano el formato de la lista de tuplas, por lo que sé cómo extraer los valores.

Si no extrae los elementos de tupla individualmente, obtendrá un resultado similar a este:

>>> list_of_tuples = [(1, 'banana'), (2, 'apple'), (3, 'pear')]
>>> for item in list_of_tuples:
...     print(item)
... 
(1, 'banana')
(2, 'apple')
(3, 'pear')

Esto puede no ser lo que espera. En general, debe comenzar con tuple O tal vez varios elementos en lugar de extraer el elemento completo tuple..

¡Ahora encontremos otra forma conveniente de rizar!

Usar enumerate

Python viene con una función incorporada llamada enumerate. La función toma un iterador o una secuencia, como una cadena o una lista, y devuelve una tupla en el siguiente formato: (position, item)..

Esto facilita encontrar la posición de los elementos en la secuencia al recorrer la secuencia.

Aquí un ejemplo:

>>> my_str="abcdefg"
>>> for pos, letter in enumerate(my_str):
...     print(f' - ')
... 
0 - a
1 - b
2 - c
3 - d
4 - e
5 - f
6 - g

¡Ahora echemos un vistazo a los otros tipos de bucles compatibles con Python!

Crear bucle python con while

Python tiene otro tipo de construcción de bucle, es while.  Los bucles se crean con palabras clave en while. La fórmula es la siguiente. en otras palabras, while el ciclo se ejecuta hasta que se cumplen ciertas condiciones.

Veamos cómo funcionan estos bucles en python.

>>> count = 0
>>> while count < 10:
...     print(count)
...     count += 1

Este ciclo se expresa de la misma manera que una declaración condicional. Python va a ejecutar el ciclo cuando count sea menos de 10. Permitiendo en ciclo la impresión count incrementando su valor en 1 cada vez.

Si olvida agregar count  el bucle se ejecuta hasta que detiene o finaliza el proceso de Python.

Puedes cometer este error y crear un bucle infinito.

Como detener un bucle infinito en python

Es posible que desee detener el bucle lo antes posible. Por ejemplo, es posible que desee realizar un bucle hasta que encuentre algo específico. Un buen caso de uso es iterar sobre una línea en un archivo de texto y detenerse cuando aparece una cadena específica por primera vez.

Puede detener el ciclo antes usando la palabra clave break:

>>> count = 0
>>> while count < 10:
...     if count == 4:
...         print(f'')
...         break
...     print(count)
...     count += 1
... 
0
1
2
3
count=4

En este ejemplo, el ciclo debe detenerse cuando el conteo llega a 4.

Para hacer esto, agregue una declaración condicional que confirme lo siguiente: count si es igual a 4, el número de impresiones es igual a 4, luego se imprime break La instrucción para salir del bucle.

También puede ser usado break para un bucle for:

>>> list_of_tuples = [(1, 'banana'), (2, 'apple'), (3, 'pear')]
>>> for number, fruit in list_of_tuples:
...     if fruit == 'apple':
...         print('Apple found!')
...         break
...     print(f' - ')
... 
1 - banana
Apple found!

En este ejemplo, sales del bucle cuando encuentras una manzana. De lo contrario, imprimes la fruta que encontraste. La manzana está en la segunda tupla, por lo que nunca llega a la tercera tupla.

Al usar break los bucles solo salen del bucle más interno.

Puedes usar break como ayuda a controlar el flujo del programa. De hecho, usando sentencias condicionales break como también otro como flow control.

Otra declaración que puede usar para controlar el flujo de código es: Continue.. ¡Descubrámoslo juntos!

Usar continue

Este continue  se usa para pasar a la siguiente iteración en el bucle. Esta declaración continue salta algunas cosas.

Escribamos un bucle que ignore los números pares.

>>> for number in range(2, 12):
...     if number % 2 == 0:
...         continue
...     print(number)
... 
3
5
7
9
11

Este código itera a través del rango de números que comienza en 2 y termina en 11. Use el operador de módulo para cada número en el rango. %Encuentra el resto de la división de un número por 2, si el resto es cero, es un número par, continue una instrucción que avanza al siguiente valor en secuencia. Esto omite efectivamente los números pares, por lo que solo se imprimen los números impares.

Puede omitir cualquier cantidad de elementos en una secuencia utilizando declaraciones condicionales inteligentes.

Hay un bucle else

Poco se sabe sobre los bucles de Python else.

Otra forma de verlo es else la instrucción se ejecuta sólo si el ciclo se completa con éxito.

Principales ejemplos de uso else  en un bucle se utilizan para buscar elementos en una secuencia. Tu else que arroja una excepción si no se encuentra el elemento.

Tomemos un ejemplo simple.

>>> mi_lista = [1, 2, 3]
>>> for number in mi_lista:
...     if number == 4:
...         print('Found number 4!')
...         break
...     print(number)
... else:
...     print('Number 4 not found')
... 
1
2
3
Number 4 not found

Este ejemplo se repite list tres enteros. Busque el número 4, si lo encuentra, salga del bucle. Si no puede encontrar este número, else es ejecutada y notificada.

Intenta agregar el número 4 a list A continuación, ejecute el código de nuevo.

>>> mi_lista = [1, 2, 3, 4]
>>> for number in mi_lista:
...     if number == 4:
...         print('Found number 4')
...         break
...     print(number)
... else:
...     print('Number 4 not found')
... 
1
2
3
Found number 4

Un mejor enfoque es lanzar una excepción en lugar de mostrar un mensaje.

El grupo Nested

Los bucles en python también se pueden anidar unos dentro de otros. Hay muchas razones para los bucles anidados. Una de las razones más comunes es descomprimir estructuras de datos anidadas.

Uso anidado list, ejemplo:

>>> nested = [['mike', 12], ['jan', 15], ['alice', 8]]
>>> for lst in nested:
...     print(f'List = ')
...     for item in lst:
...         print(f'Item -> ')

El bucle exterior extrae cada nido anidado list e imprimirlo. Luego, en el ciclo interno, el código extrae y genera cada elemento de la lista anidada.

Cuando ejecuto este código, obtengo un resultado similar a este:

List = ['mike', 12]
Item -> mike
Item -> 12
List = ['jan', 15]
Item -> jan
Item -> 15
List = ['alice', 8]
Item -> alice
Item -> 8

Este tipo de código es particularmente útil cuando las listas anidadas tienen diferentes longitudes. Por ejemplo, es posible que deba realizar un trabajo adicional en las listas que tienen datos adicionales o que no tienen suficientes datos.

Palabras finales

Los bucles son útiles para iterar sobre los datos. En este artículo, aprendió sobre dos de las construcciones de bucle de Python.

Con un poco de práctica, usará bucles en su código en poco tiempo.

¿ Te fue útil este artículo ?
⬇️ Ayudame compartiendo para poder llegar a más personas.⬇️