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='.')