Bucles y rangos en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a usar declaraciones de bucle for y la función range() en Python. Las declaraciones de bucle for le permiten iterar sobre una secuencia de elementos, como una lista o una cadena. La función range() es una función integrada que devuelve una secuencia de números, que comienza por 0 por defecto, incrementa en 1 (también por defecto) y termina en un número especificado.

Logros

  • Declaraciones de bucle for
  • La función range()
  • La función enumerate()
  • La función zip()

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/DataStructuresGroup -.-> python/lists("Lists") python/FunctionsGroup -.-> python/arguments_return("Arguments and Return Values") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/strings -.-> lab-78{{"Bucles y rangos en Python"}} python/for_loops -.-> lab-78{{"Bucles y rangos en Python"}} python/lists -.-> lab-78{{"Bucles y rangos en Python"}} python/arguments_return -.-> lab-78{{"Bucles y rangos en Python"}} python/build_in_functions -.-> lab-78{{"Bucles y rangos en Python"}} python/data_collections -.-> lab-78{{"Bucles y rangos en Python"}} end

Bucle for

Un bucle for es una declaración de flujo de control que le permite iterar sobre una secuencia de elementos. La sintaxis de un bucle for es la siguiente:

for variable in sequence:
    statements

Donde sequence es una secuencia de elementos (como una lista, tupla o cadena) y variable es una variable que toma cada valor de la secuencia uno a la vez. Las statements dentro del bucle se ejecutarán para cada valor de la secuencia.

Abra un nuevo intérprete de Python.

python3

A continuación, se muestra un ejemplo de un bucle for simple que itera sobre una lista de enteros e imprime cada valor:

numbers = [1, 2, 3, 4, 5]
for number in numbers:
    print(number)

Iterando sobre una cadena:

for char in 'Hello':
    print(char)

La función range()

La función range() es una función integrada en Python que devuelve una secuencia de números. La sintaxis de la función range() es la siguiente:

range(start, stop, step)

Donde start es el número inicial de la secuencia (por defecto es 0), stop es el número final de la secuencia (no se incluye) y step es el incremento entre cada número de la secuencia (por defecto es 1).

Puede usar la función range() en un bucle for para iterar sobre una secuencia de números. Por ejemplo:

for i in range(5):
    print(i)

También puede especificar un valor de start y stop para la función range():

for i in range(2, 5):
    print(i)

Incluso puede especificar un valor de paso:

for i in range(2, 10, 2):
    print(i)

Bucles for anidados

También puede usar múltiples bucles for para iterar sobre secuencias anidadas. Por ejemplo:

for i in range(1, 3):
    for j in range(1, 4):
        print(f'i: {i}, j: {j}')

Ejercicio

Ahora es tu turno para practicar el uso de declaraciones de bucle for y la función range(). Escribe un programa que imprima el siguiente patrón:

*
**
***
****
*****

Algunos consejos:

Tu programa debe usar dos bucles for, uno anidado dentro del otro. El bucle externo debe iterar sobre el número de filas y el bucle interno debe iterar sobre el número de columnas.

Para completar este ejercicio, necesitarás usar la función print() para imprimir los asteriscos. Puedes usar la función range() para controlar el número de iteraciones de los bucles.

La función enumerate()

La función enumerate toma un iterable como entrada, como una lista, y devuelve un iterador que genera tuplas que contienen el índice y el valor de cada elemento. En el ejemplo siguiente, usamos el operador de desempaquetado (índice, fruta) para asignar el índice y el valor de cada tupla a las variables índice y fruta, respectivamente.

## Ejemplo de uso de la función enumerate en un bucle for en Python

## Lista de muestra para iterar
frutas = ['manzana', 'banana', 'cereza']

## Usando un bucle for y la función enumerate para iterar sobre la lista
for índice, fruta in enumerate(frutas):
    print(f"Índice: {índice}, Fruta: {fruta}")

## Salida:
## Índice: 0, Fruta: manzana
## Índice: 1, Fruta: banana
## Índice: 2, Fruta: cereza

En el ejemplo anterior, definimos una lista frutas que contiene los elementos manzana, banana y cereza.

Luego, usamos un bucle for para iterar sobre la lista de frutas y la función enumerate para obtener tanto el índice como el valor de cada elemento de la lista. Dentro del bucle, usamos la formateación de cadenas para imprimir el índice y la fruta. La función enumerate por defecto comienza a contar desde 0, pero puede usar el argumento opcional start para especificar un punto de partida diferente para el conteo.

La función zip()

La función zip() puede ser útil cuando se trabaja con múltiples listas u otros objetos iterables y se desea iterar sobre sus elementos en pares, o cuando se desea combinar múltiples objetos iterables en uno.

## Ejemplo de uso de la función zip() en un bucle for en Python

## Listas de muestra para iterar
frutas = ['manzana', 'banana', 'cereza']
precios = [1.2, 3.5, 2.5]

## Usando un bucle for y la función zip para iterar sobre las listas
for fruta, precio in zip(frutas, precios):
    print(f"Fruta: {fruta}, Precio: ${precio}")

## Salida:
## Fruta: manzana, Precio: $1.2
## Fruta: banana, Precio: $3.5
## Fruta: cherry, Precio: $2.5

En el ejemplo anterior, definimos dos listas frutas y precios que contienen los elementos manzana, banana, cereza y 1.2, 3.5, 2.5 respectivamente.

Luego, usamos un bucle for para iterar sobre los elementos de las dos listas usando la función zip(). La función zip() toma múltiples objetos iterables como entrada y devuelve un iterador que genera tuplas que contienen los elementos de los iterables de entrada en posiciones correspondientes. En el ejemplo anterior, usamos el operador de desempaquetado (fruta, precio) para asignar los elementos de cada tupla a las variables fruta y precio, respectivamente. Dentro del bucle, usamos la formateación de cadenas para imprimir la Fruta y el precio.

Si la longitud del iterable de entrada no es igual, la función zip() se detendrá al final del iterable más corto.

Resumen

En este laboratorio, aprendiste cómo usar las declaraciones de bucle for de Python y la función range() para iterar sobre una secuencia de elementos. Aprendiste la sintaxis de los bucles for y la función range(), y viste ejemplos de cómo usarlos para iterar sobre listas, cadenas, tuplas y secuencias de números. También aprendiste cómo usar bucles for anidados para iterar sobre secuencias anidadas.

Ahora que has aprendido los conceptos básicos de los bucles for y la función range(), puedes usar estas herramientas para realizar tareas como procesar datos, generar salidas y mucho más.