Python para bucle

En este artículo, aprenderá a iterar sobre una secuencia de elementos utilizando las diferentes variaciones de bucle for.

Video: Python para Loop

¿Qué es el bucle for en Python?

El bucle for en Python se usa para iterar sobre una secuencia (lista, tupla, cadena) u otros objetos iterables. La iteración sobre una secuencia se denomina recorrido.

Sintaxis de for Loop

 para val en secuencia: Cuerpo de para

Aquí valestá la variable que toma el valor del elemento dentro de la secuencia en cada iteración.

El bucle continúa hasta que llegamos al último elemento de la secuencia. El cuerpo del bucle for se separa del resto del código mediante sangría.

Diagrama de flujo de bucle for

Diagrama de flujo de for Loop en Python

Ejemplo: Python para Loop

 # Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum) 

Cuando ejecute el programa, la salida será:

 La suma es 48

La función range ()

Podemos generar una secuencia de números usando la range()función. range(10)generará números del 0 al 9 (10 números).

También podemos definir el tamaño de inicio, parada y paso como range(start, stop,step_size). step_size toma el valor predeterminado de 1 si no se proporciona.

El rangeobjeto es "perezoso" en cierto sentido porque no genera todos los números que "contiene" cuando lo creamos. Sin embargo, no es un iterador ya que soporta in, leny __getitem__operaciones.

Esta función no almacena todos los valores en la memoria; sería ineficaz. Por lo tanto, recuerda el inicio, la parada, el tamaño del paso y genera el siguiente número sobre la marcha.

Para forzar que esta función muestre todos los elementos, podemos usar la función list().

El siguiente ejemplo aclarará esto.

 print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))

Salida

 rango (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)

Podemos usar la range()función en forbucles para iterar a través de una secuencia de números. Se puede combinar con la len()función para iterar a través de una secuencia usando indexación. Aquí hay un ejemplo.

 # Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))

Salida

 Me gusta el pop me gusta el rock me gusta el jazz

para bucle con else

Un forbucle también puede tener un elsebloque opcional . La elseparte se ejecuta si los elementos de la secuencia utilizada en el bucle for se agotan.

La breakpalabra clave se puede utilizar para detener un bucle for. En tales casos, se ignora la parte else.

Por lo tanto, la parte else de un bucle for se ejecuta si no se produce ninguna interrupción.

Aquí hay un ejemplo para ilustrar esto.

 digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")

Cuando ejecute el programa, la salida será:

 0 1 5 No quedan artículos.

Aquí, el bucle for imprime elementos de la lista hasta que el bucle se agota. Cuando el bucle for se agota, ejecuta el bloque de código en el elsee imprime No quedan elementos.

Esta for… elsedeclaración se puede usar con la breakpalabra clave para ejecutar el elsebloque solo cuando la breakpalabra clave no se ejecutó. Tomemos un ejemplo:

 # program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')

Salida

 No se encontró ninguna entrada con ese nombre.

Articulos interesantes...