Programación en Python

0 de 19 lecciones completas (0%)

Programación en Python – Módulo 4 – Estructuras de Control

Lección 11 – Bucles

Esta es una vista previa de la lección

Compra el curso, o accede si ya te has inscrito, para acceder a esta lección.

El bucle for en Python es una estructura fundamental que permite la iteración sobre secuencias de datos. Este poderoso constructo se utiliza para ejecutar un bloque de código repetidamente, una vez por cada elemento de una secuencia, como listas, tuplas o cadenas. Aquí, exploraremos los conceptos clave y su aplicación en diversos escenarios.

Sintaxis básica del for loop

La sintaxis básica de un bucle for en Python es:

for variable in iterable:
    # Cuerpo del bucle
    # Código a ejecutar en cada iteración

  • variable: Representa el elemento actual en la iteración.
  • iterable: Es la secuencia de elementos sobre la cual se itera.

Veamos un ejemplo sencillo. Primero crearé un nuevo documento for_loop.py en mi carpeta de código.

# for loop simple
for i in range(10):
    print(f"Hola for loop {i}")

Solo usé la estructura de arriba. Mi variable para iterar es i, y el iterable es el rango de 0 a 10 con la función range(10). En mi cuerpo del bucle imprimo Hola for loop <número>, este número cambia conforme mi variable de iteración cambia.

La función range tiene estos paramétros:

range(stop)
range(start, stop[, step])

Si usas range como en el ejemplo que te di arriba con un solo número entre los paréntesis, estarás indicando solo el número en el que quieres que se detenga. Desde cero hasta ese número, sin llegar a éste. En mi ejemplo puse 10, entonces va de 0 a 9.

También puedes indicarle a range desde qué valor quieres que inicie.

# for loop simple
for i in range(1, 10):
    print(f"Hola for loop {i}")

El diagrama de este loop se vería así:

for loop Python
For loop Python

Ahora voy a añadir otro parámetro, un número extra en range.

# for loop simple
for i in range(4, 10, 2):
    print(f"Hola for loop {i}")

Este código indica que el for loop va a correr iniciando en 4, hasta el 10 sin llegar a éste o sea 9, y avanzará de 2 en 2.

Otros ejemplos con el for loop:

Iterando sobre una lista:

Veremos las listas con profundidad en una clase más adelante, pero por ahora debes saber que una lista es una colección de datos.

frutas = ["manzana", "plátano", "uva"]
for fruta in frutas:
    print(fruta)

Resultado:

manzana
plátano
uva

Iterando sobre una cadena de texto:

mensaje = "Hola"
for letra in mensaje:
    print(letra)

Resultado:

H
o
l
a

La sentencia break

En Python, la sentencia break se utiliza dentro de un bucle for para interrumpir su ejecución antes de que se complete su ciclo normal. Su función principal es salir prematuramente del bucle, brincando a la primera línea de código después del bucle. Esto es especialmente útil cuando se alcanza una condición específica y ya no es necesario continuar iterando.

Aquí tienes un ejemplo básico:

for numero in range(10):
    if numero == 5:
        break
    print(numero)

En este caso, el bucle for imprimirá los números del 0 al 4. Cuando numero es igual a 5, la sentencia break se activa, finalizando el bucle de inmediato.

La sentencia continue

En Python, la sentencia continue se utiliza dentro de un bucle for para saltar a la siguiente iteración sin ejecutar el resto del código dentro del bucle en caso de que se cumpla una condición específica. Básicamente, permite omitir parte del código y pasar directamente a la siguiente iteración del bucle.

Veamos un ejemplo simple:

for numero in range(10):
    if numero % 2 == 0:
        continue
    print(numero)

En este caso, el bucle for imprime solo los números impares del 0 al 9. Cuando numero es par, la sentencia continue se activa, saltando a la siguiente iteración sin ejecutar la impresión.

La sentencia continue es útil cuando deseas evitar ejecutar ciertas partes del código en una iteración específica, pero aún así continuar con las siguientes iteraciones del bucle.

1
3
5
7
9

Si juntamos estas dos sentencias en un bucle:

numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numeros:
    if num == 5:
        break  # Termina el bucle si encuentra el número 5
    if num % 2 == 0:
        continue  # Salta a la siguiente iteración si el número es par
    print(num)

El resultado:

1
3

Programa Básico con For Loop

Ahora, creemos un programa sencillo que utiliza un bucle for para sumar los primeros 10 números naturales:

suma = 0
for i in range(1, 11):
    suma += i

print(f"La suma de los primeros 10 números naturales es: {suma}")

Este programa utiliza la función range() para generar números del 1 al 10 y acumula la suma en la variable suma. Al final, imprime el resultado.

Los bucles for de Python son versátiles y cruciales para diversas tareas, desde iteraciones simples hasta procesamiento de datos complejos. Comprender su sintaxis y aplicaciones es fundamental para cualquier programador de Python.

While loop

El bucle while se ejecuta siempre y cuando una condición sea cierta. Esto repite el código dentro del bloque una y otra vez hasta que la condición deja de ser cierta. Esto encierra cierto peligro de crear bucles infinitos así que debes tener cuidado cuando trabajas con este bucle.

hola = 0
while hola < 5:
    print('Hello, world.')
    hola = hola + 1

En cada iteración de este bucle la variable hola cambia de valor. Inicia en 0, luego 1, 2, 3… y así hasta que llega a 5. Como 5 < 5 = False, en ese momento se detiene el bucle.

While infinito (evitar)

En Python, un bucle while infinito se crea al proporcionar una condición que siempre sea verdadera. Aquí tienes un ejemplo:

# Ejemplo de un bucle while infinito en Python
while True:
    print("Este es un bucle infinito")

En este caso, la condición True siempre será verdadera, lo que resulta en un bucle que se ejecutará indefinidamente. Es crucial tener cuidado al usar bucles infinitos para evitar bloquear la ejecución del programa. Puedes interrumpir manualmente un bucle infinito con la combinación de teclas Ctrl + C en la consola de Python.

Calculadora con while

Hagamos una calculadora que nos pida valores de forma continua. Cuando querramos dejar de usarla le escribiremos una palabra concreta y esto detendrá el programa. Abro un nuevo documento de Python en mi carpeta, calculadora_while.py.

# Mientras el usuario no escriba "salir" la calculadora seguirá funcionando
print("Esta es mi calculadora")
print("Para salir escribe \"salir\".")
print("""Las operaciones permitidas son: suma, resta, multiplicación (escribe multi) y división (escribe div)""")

Primero inicio con unos prints para darle indicaciones al usuario. A continuación creo una variable para guardar el resultado y un loop infinito que me pedirá números una y otra vez.

# Mientras el usuario no escriba "salir" la calculadora seguirá funcionando
print("Esta es mi calculadora")
print("Para salir escribe \"salir\".")
print("""Las operaciones permitidas son: suma, resta, multiplicación (escribe multi) y división (escribe div)""")

resultado = ""
while True:
    # Código del bloque

En el bucle while vamos a revisar si no hay valor en la vriable resultado, esto significa que es la primera vez que se ejecuta y por esto pediremos el primer número al usuario. Si el usuario ingresa la palabra «salir» saldremos del bucle con un break. Si no tomaremos la entrada del usuario y la convertiremos en entero con int().

# Mientras el usuario no escriba "salir" la calculadora seguirá funcionando
print("Esta es mi calculadora")
print("Para salir escribe \"salir\".")
print("""Las operaciones permitidas son: suma, resta, multiplicación (escribe multi) y división (escribe div)""")

resultado = ""
while True:
    if not resultado:
        resultado = input("ingrese número: ")
        if resultado.lower() == "salir":
            break
        resultado = int(resultado)

Si ya tenemos un valor en la variable resultado le pedimos al usuario la operación que quiere realizar. De nuevo, le damos oportunidad de para la ejecución del programa si escribe salir y después le pedimos un segundo número. Con esto ya podemos realizar la operación que corresponda.

# Mientras el usuario no escriba "salir" la calculadora seguirá funcionando
print("Esta es mi calculadora")
print("Para salir escribe \"salir\".")
print("""Las operaciones permitidas son: suma, resta, multiplicación (escribe multi) y división (escribe div)""")

resultado = ""
while True:
    if not resultado:
        resultado = input("ingrese número: ")
        if resultado.lower() == "salir":
            break
        resultado = int(resultado)
    operacion = input("Ingresa operación: ")
    if operacion.lower() == "salir":
        break
    numero_2 = input("Ingresa siguiente número: ")
    if numero_2.lower() == "salir":
        break
    numero_2 = int(numero_2)

    if operacion.lower() == "suma":
        resultado += numero_2
    elif operacion.lower() == "resta":
        resultado -= numero_2
    elif operacion.lower() == "multi":
        resultado *= numero_2
    elif operacion.lower() == "div":
        resultado /= numero_2
    else:
        print("Operación no es válida.")
        break
    
    print(f"El resultado es {resultado}.")

{f{e{eeqqwqwq

Scroll al inicio