Python para bucle
¿Qué es el bucle for en Python?
El ciclo for en Python se usa para iterar sobre una secuencia (lista, tupla, cadena) u otros objetos iterables. La iteración sobre una secuencia se llama recorrido.
Sintaxis de bucle for
for val in sequence:
loop body
Aquí, val
es 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 for Loop
Ejemplo: Python para bucle
# 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á:
The sum is 48
La función rango()
Podemos generar una secuencia de números usando 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 por defecto es 1 si no se proporciona.
los range
El objeto 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 admite in
, len
y __getitem__
operaciones.
Esta función no almacena todos los valores en la memoria; sería ineficiente. Por lo tanto, recuerda el inicio, la parada, el tamaño del paso y genera el siguiente número sobre la marcha.
Para obligar a esta función a generar 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)))
Producción
range(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 el range()
función en for
bucles para iterar a través de una secuencia de números. Se puede combinar con el len()
función para iterar a través de una secuencia usando la 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])
Producción
I like pop I like rock I like jazz
bucle for con else
A for
bucle puede tener un opcional else
bloquear también. los else
part se ejecuta si los elementos de la secuencia utilizada en el bucle for se agotan.
La palabra clave break se puede utilizar para detener un bucle for. En tales casos, la parte else se ignora.
Por lo tanto, la parte else de un bucle for se ejecuta si no se produce una 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 items left.
Aquí, el ciclo for imprime elementos de la lista hasta que se agota el ciclo. Cuando el bucle for se agota, ejecuta el bloque de código en el else
e impresiones No quedan artículos.
Este for...else
declaración se puede utilizar con el break
palabra clave para ejecutar el else
bloquear sólo cuando el break
no se ejecutó la palabra clave. 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.')
Producción
No entry with that name found.