English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Python

Control de flujo de Python

Funciones en Python

Tipos de datos en Python

Operaciones de archivos de Python

Objetos y clases de Python

Fecha y hora de Python

Conocimientos avanzados de Python

Manual de referencia de Python

Bucle for en Python

El bucle for de Python puede recorrer cualquier proyecto de una secuencia, como una lista o una cadena.

¿Qué es el bucle for en Python?

El bucle for de Python se utiliza para iterar sobre una secuencia (lista,tupla,cadena) u otro objeto iterable. Iterar sobre una secuencia se llama recorrer.

Sintaxis del bucle for

for val in sequence:
	Cuerpo del bucle

Aquí, val es la variable que obtiene el valor del elemento dentro de la secuencia en cada iteración.

El bucle se mantiene hasta que alcanzamos el último elemento de la secuencia. Utilice sangría para separar el cuerpo del bucle del resto del código.

Diagrama de flujo del bucle for

Diagrama de flujo del bucle for de Python

Ejemplo: bucle for de Python

#程序查找列表中存储的所有数字的总和
#数字清单
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# 用于存储总和的变量
sum = 0
# 遍历列表
for val in numbers:
    sum = sum+val
print("La suma es", sum)

Cuando ejecute el programa, la salida será:

La suma es 48

La función range()

Podemos generar una secuencia de números utilizando la función range(). range(10) producirán de 0 a9los números entre10números).

También podemos definir el inicio, el final y el paso como range(start, stop, step_size). Si no se proporciona, el valor predeterminado de step_size es1.

El objeto range es en cierto sentido 'perezoso', ya que no genera todos los números 'contenidos' en él cuando lo creamos. Sin embargo, no es un iterador, sino que admite operaciones in, len y getitem.

Esta función no almacena todos los valores en la memoria; eso sería ineficiente. Por lo tanto, recuerda el inicio, el final y el paso, y genera el siguiente número en ejecución.

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

Este ejemplo demostrará esto.

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

Resultado de la salida

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 la función range() en el bucle for para iterar una secuencia de números. Puede combinarse con la función len() para recorrer la secuencia utilizando índices. Este es un ejemplo.

# Programas para recorrer la lista utilizando índices
genre = ['pop', 'rock', 'jazz']
# Programas para recorrer la lista utilizando índices
for i in range(len(genre)):
    print("Me gusta", genre[i])

Al ejecutar este programa, la salida será:

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

Bucle con else

El bucle for también puede tener un bloque else opcional.

Si se agota la secuencia utilizada en el bucle for, se ejecuta la parte else.

La palabra clave break se puede usar para detener el bucle for. En este caso, la parte else se ignorará.

Por lo tanto, si no se produce una interrupción, se ejecuta la parte else del bucle for.

Este es un ejemplo para ilustrar esto.

digits = [0, 1, 5]
for i in digits:
    print(i)
else:
    print("No quedan elementos restantes.")

Al ejecutar este programa, la salida será:

0
1
5
"No quedan elementos restantes."

En este caso, el bucle for imprimirá los elementos de la lista hasta que se agoten. Cuando el bucle for se agote, ejecuta el bloque de código else y muestra ""No quedan elementos restantes."

El bloque else de la instrucción for...else se puede usar junto con la palabra clave break para ejecutar el bloque else solo si no se ejecuta la palabra clave break. Vamos a dar un ejemplo:

# Programas para mostrar los registros de calificaciones de los estudiantes
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 se encontró el elemento con ese nombre.')

Resultado de la salida

No se encontró el elemento con ese nombre.