Lesson 4
Para bucle con rango
1. Para bucle con rango
En las lecciones anteriores tratamos sobre programas y condiciones secuenciales. A menudo, el programa necesita repetir bloque varias veces. Ahí es donde los bucles son útiles. Hay for
y while
los operadores de bucle en Python, en esta lección cubrimos for
.
for
loop itera sobre cualquier secuencia. Por ejemplo, cualquier cadena en Python es una secuencia de sus caracteres, por lo que podemos iterar sobre ellos usando for
:
for character in 'hello': print(character)
Otro caso de uso para un bucle for es iterar alguna variable entera en orden creciente o decreciente. Dicha secuencia de números enteros se puede crear usando el range(min_value, max_value)
funciones range(min_value, max_value)
:
for i in range(5, 8): print(i, i ** 2) print('end of loop') # 5 25 # 6 36 # 7 49 # fin del ciclo
El range(min_value, max_value)
función range(min_value, max_value)
genera una secuencia con números min_value
, min_value + 1
, ..., max_value - 1
. El último número no está incluido.
Hay una forma reducida de range () - range(max_value)
, en cuyo caso min_value se establece implícitamente en cero:
for i in range(3): print(i) # 0 # 1 # 2
De esta manera, podemos repetir algunas acciones varias veces:
for i in range(2 ** 2): print('Hello, world!')
Igual que con if-else, la sangría es lo que especifica qué instrucciones están controladas por for
y cuáles no.
El rango () puede definir una secuencia vacía, como el range(-5)
o el range(7, 3)
. En este caso, el for-block no se ejecutará:
for i in range(-5): print('Hello, world!')
Tengamos un ejemplo más complejo y sumemos los enteros de 1 a n inclusive.
result = 0 n = 5 for i in range(1, n + 1): result += i # esto ^^ es la abreviatura de # resultado = resultado + i print(result)
Preste atención a que el valor máximo en el rango () es n + 1
para hacer que i
igual a n en el último paso.
Para iterar sobre una secuencia decreciente, podemos usar una forma extendida de range () con tres argumentos: range(start_value, end_value, step)
. Cuando se omite, el paso es implícitamente igual a 1. Sin embargo, puede ser cualquier valor distinto de cero. El ciclo siempre incluye start_value y excluye end_value durante la iteración:
for i in range(10, 0, -2): print(i) # 10 # 8 # 6 # 4 # 2
2. configurando la función print ()
Por defecto, la funciónprint()
imprime todos sus argumentos separándolos por un espacio y pone un símbolo de línea nueva después de él. Este comportamiento se puede cambiar usando los argumentos de palabras clave sep
(separator) y end
.print(1, 2, 3) print(4, 5, 6) print(1, 2, 3, sep=', ', end='. ') print(4, 5, 6, sep=', ', end='. ') print() print(1, 2, 3, sep='', end=' -- ') print(4, 5, 6, sep=' * ', end='.')