""

domingo, 14 de diciembre de 2025

Conceptos básicos bucle For. Python para ciencia de datos

Conceptos clave sobre bucles

*Función range(): una función incorporada que genera una secuencia de números, útil para crear bucles que se repiten un número específico de veces.

* Secuencia iterable: una estructura de datos sobre la que se puede iterar, como cadenas, listas, tuplas, diccionarios y conjuntos.

* For Loop: Una estructura de control que ejecuta un bloque de código para cada elemento en una secuencia iterable.

* Bucles anidados: un bucle dentro de otro bucle, que permite la iteración sobre estructuras de datos complejas como listas de listas.

Has aprendido sobre los bucles for en Python y has explorado algunos ejemplos. Los bucles for son como los bucles while, pero en lugar de hacer un bucle continuo hasta que se cumpla una condición, los bucles for iteran sobre cada elemento de una secuencia iterable, permitiéndote realizar una acción o evaluación con cada iteración. Se trata de un proceso importante en la Programación informática, no sólo en Python, sino también en la mayoría de los demás lenguajes. Los profesionales de los datos usan bucles for para procesar datos, por lo que es importante que te familiarices con ellos a medida que crecen tus habilidades. Esta lectura es una revisión de los conceptos fundamentales de los bucles for.

Sintaxis del bucle for

Un bucle for es una estructura de control que te permite ejecutar un bloque de código el mismo número de veces que elementos hay en una secuencia iterable. Aprenderás más sobre secuencias iterables más adelante en este curso, pero algunos ejemplos de tipos de datos iterables incluyen:

Cadenas: ‘chimichurri’

Listas: [1, 2, 3, 4, 5, 6]

Tuplas: (1, 2, 3, 4, 5)

Diccionarios: {‘Name’: ‘Anita’, ‘Age’: 77}

Conjuntos: {1, 4, 14, 33}

Nota: El siguiente bloque de código no es interactivo.

La sintaxis básica de un bucle for es la siguiente:

for item in iterable_sequence:
   # Code block to be executed for each value in iterable_sequence

La variable iterable_sequence puede ser cualquier tipo de dato iterable, y el item es una variable cuyo nombre es arbitrario -tú lo decides. Sin embargo, hay algunas convenciones que encontrarás al nombrar esta variable. Por ejemplo, si está iterando sobre los caracteres de una cadena, frecuentemente encontrará la variable char. Si estás iterando sobre una lista de números, encontrarás n o num. Es útil dar a esta variable un nombre para que los lectores de tu código entiendan qué tipo de información está siendo iterada. Así, para una variable llamada names que contiene una lista de nombres de personas, puedes escribir: for name in names:.

Una nota sobre el comportamiento de esta variable - su valor es reasignado para cada iteración del bucle, y persiste incluso después de que el bucle termine.

He aquí un ejemplo:

>>num = 5
>>y = [123]
>>for num in y:
>>   print(num)

>>print(num)

salida:
1 2 3 3

Observe que num existe como variable antes de que comience el bucle for. La primera iteración del bucle for reasigna su valor con el del primer elemento de la secuencia. Esta reasignación ocurre con cada iteración del bucle. Cuando el bucle termina, la variable persiste, y contiene el valor que tenía después de la iteración final del bucle.

La función range()

El bucle for le permite crear un bucle que realice exactamente el número de iteraciones necesarias para la estructura de datos sobre la que está realizando el bucle. En otras palabras, tanto si tu secuencia iterable contiene dos, 1.000 o un millón de elementos, puedes utilizar la misma sintaxis y no tienes que especificar el número de iteraciones que deseas. Sin embargo, a veces es necesario realizar una tarea un número determinado de veces, pero no se dispone de un objeto iterable sobre el que realizar un bucle. O, a veces, necesita generar una secuencia de números conocida y regular. Aquí es donde resulta útil la función range().

La función range() es una función que toma tres argumentos: start, stop, step. Su salida es un objeto perteneciente a la clase rango. Si sólo incluye un argumento, se interpretará como el valor de parada. Los valores de inicio y paso por defecto serán cero y uno, respectivamente. Si incluye dos argumentos, se interpretarán como los valores de inicio y parada (de nuevo, siendo el paso uno por defecto). Tenga en cuenta que el valor de parada no se incluye en el rango devuelto.

He aquí algunos ejemplos:

A)
>># Funcion Range()
>>for i in range(3):
>>   print(i)

Salida obtenida:
0 1 2

B)
>>for n in range(25):
>>   print(n)

salida obtenida:
2
3
4

C)
>>for even_num in range(2112):
>>   print(even_num)

salida obtenida:
2
4
6
8
10

Verás que la función range() es muy útil, por ejemplo, para crear listas numeradas o realizar operaciones sobre determinados índices de un objeto. Más adelante aprenderás más sobre la indexación.

Bucles anidados

A veces necesitarás extraer información de estructuras anidadas, por ejemplo, de una lista de listas. Una forma de hacerlo es utilizando bucles anidados. Un bucle anidado es un bucle dentro de otro bucle. Puede tener un número infinito de bucles anidados, pero se vuelve más confuso de leer y entender cuantos más bucles anidados añada.

Este es un ejemplo de un bucle anidado dentro de otro:

>>students = [['Igor''Sokolov'], ['Riko''Miyazaki'], ['Tuva''Johansen']]
>>for student in students:
>>   for name in student:
>>       print(name)
>>   print()

salida obtenida:
Igor Sokolov Riko Miyazaki Tuva Johansen

En este ejemplo, la variable alumnos contiene una lista de tres listas. Cada lista interior contiene dos elementos: un nombre y un apellido. El primer bucle for itera sobre las listas internas. El segundo bucle for (anidado) itera sobre cada nombre de cada lista interna e imprime el nombre. Después de cada iteración del bucle exterior, el programa utiliza una instrucción print vacía para imprimir una nueva línea.

Puntos clave

Un bucle for permite ejecutar un bloque de código el mismo número de veces que elementos hay en una secuencia iterable. La función range() es útil para crear una secuencia iterable definida. Y los bucles anidados son bucles dentro de bucles que te dan aún más poder y control sobre cómo puede ejecutarse tu código. Se trata de herramientas potentes que pueden utilizarse de muchas formas distintas para resolver una gran variedad de problemas con los que se encontrará como profesional de los datos.

sábado, 13 de diciembre de 2025

Trabajar con bucles para diferentes rangos de temperatura. Python para ciencia de datos

 Fuente: Coursera & Google

362880
0 -17.77777777777778
10 -12.222222222222221
20 -6.666666666666667
30 -1.1111111111111112
40 4.444444444444445
50 10.0
60 15.555555555555555
70 21.11111111111111
80 26.666666666666668
90 32.22222222222222
100 37.77777777777778

Crear una función temporizador. Python para ciencia de datos

 Tarea 3: Crear una función de temporizador de página web

Ahora que tienes algo de práctica en la construcción de bucles while, es hora de asumir el proyecto que te pidieron que completara para el teatro. Esta tarea utiliza una función llamada sleep() del módulo de tiempo. Siempre que se ejecuta sleep(n), el programa se detendrá durante n segundos. Ejecute la siguiente celda como ejemplo ilustrativo para ayudarle a comprender.

>>from time import sleep  # se importa la función sleep desde el modulo tiempo

>>n = 0

>> def temporizador(n):

>>      while n >= 0:

>>          print(n)

>>          sleep(1)    # La ejecución de la instrucción se pausa por un segundo

>>          n = n - 1   # se realiza un decremento en la variable de control del bucle while

>>temporizador(3)

3

2

1

0

Para los propósitos de esta tarea, suponga que 1 segundo = 1 minuto, por lo que la celda anterior representaría una cuenta regresiva de 3 minutos. 


Aplicación practica

La sala de cine ha implementado las reservas online a través de su página web. Desde la página de selección de asiento, los clientes tienen un tiempo limitado para realizar su selección. 

Debes escribir una función que haga una cuenta regresiva y recuerde al usuario que tiene un tiempo limitado para hacer una selección. Cuando el tiempo expira, debe imprimir un mensaje de tiempo de espera. Cree una instancia de una variable llamada mins y asígnele un valor inicial de 10. 

Escriba un bucle while que utilice la función sleep() y disminuya mins desde 10 minutos. Para cada minuto: Imprima cuántos minutos quedan como un número entero. PERO: Si quedan 5 minutos, imprime ¡Haz tu reserva pronto! Quedan 5 minutos. en lugar del número entero. Si quedan 2 minutos, imprime ¡No pierdas tus asientos! Quedan 2 minutos. en lugar del número entero. Cuando queden cero minutos, imprima Se agotó el tiempo de espera del usuario. en lugar del número entero.



>>from time import sleep
>>mins = 0
>>def cuenta_regresiva(mins):
  """
una función que haga una cuenta regresiva y recuerde al usuario que tiene un tiempo
limitado para realizar su selección.
  cuando el tiempo expira debe imprimir un mensaje de tiempo de espera.
  El parámetro de la función es mins, que representa los minutos que
tiene el usuario para realizar su reserva.
  """
>>  while mins >= 0:
>>    sleep(1) # se configura el tiempo de espera en 1 seg
   
>>    if mins == 5:
>>      print('Haz tu reserva pronto!, quedan 5 minutos')
>>    elif mins == 2:
>>      print('No pierdas tus asientos!, quedan 2 minutos')
>>    elif mins == 0:
>>      print('Se agotó el tiempo de espera del usuario')
>>    else:
>>     print(int(mins)) # se muestra por pantalla el valor de mins en cada iteracion como entero
>>    mins -=1 # se disminuye mins en una unidad para la siguiente iteracion

>>cuenta_regresiva(10)

10 9 8 7 6 Haz tu reserva pronto!, quedan 5 minutos 4 3 No pierdas tus asientos!, quedan 2 minutos 1 Se agotó el tiempo de espera del usuario


lunes, 8 de diciembre de 2025

Bucles, sentencias break y continue. Python para ciencia de datos

Fuente: Coursera & Google.

Has aprendido sobre los bucles while en Python y has explorado algunos ejemplos. Los bucles while son útiles porque te permiten realizar una acción o evaluación repetidamente hasta que se cumpla una condición o requisito dado, y entonces se detienen. Se trata de un proceso importante en la Programación informática, no sólo en Python, sino también en la mayoría de los demás lenguajes. Los profesionales de los datos usan bucles while para procesar datos, por lo que es importante que te familiarices con ellos a medida que crecen tus habilidades. Esta lectura es una revisión de los conceptos fundamentales de los bucles while.

Sintaxis del bucle while

Un bucle while es una estructura de control que le permite ejecutar repetidamente un bloque de código mientras cierta condición sea verdadera.

Nota: El siguiente bloque de código no es interactivo.

La sintaxis básica de un bucle while es la siguiente:

>>while condition:
>>   # Code block to execute

condition es una expresión booleana que se evalúa al principio de cada iteración del bucle. Si la condición es verdadera, el bloque de código se ejecuta. Después de que el bloque de código se ejecuta, la condición se evalúa de nuevo. Este proceso continúa hasta que la condición es falsa, en cuyo momento el bucle termina y el programa continúa con la siguiente sentencia después del bucle.

Este es un ejemplo de un bucle while básico:

>>x = 1 # Se inicializa el contador y variable de control x
>>while x < 100: # condición: x < 100
>>   print(x) # imprime el valor almacenado en la variable x en cada iteración
>>   x = x*2 # Se incrementa x al doble de su valor en cada iteración

En este ejemplo, x es igual a uno cuando comienza el bucle. Como x es menor que 100, el programa imprime el valor de x, luego multiplica x por dos. A continuación, la condición se comprueba de nuevo, y porque todavía es True, el código dentro del bucle se ejecuta de nuevo. Este proceso continúa hasta que x se convierte en 128, momento en el que la condición pasa a ser False y el bucle termina.

  1. Utiliza el botón de parada en el menú de la parte superior del notebook.

La barra de menús en la parte superior de un cuaderno Jupyter. El botón con un cuadrado que representa "detener" está resaltado.

2. Vaya a Kernel en la barra de menú de la parte superior del cuaderno y seleccione Interrumpir en el menú desplegable.

El menú de la parte superior de un cuaderno Jupyter. Desde la opción "Kernel", se indica "Interrumpir" en el menú desplegable.

3. En modo comando, pulse i dos veces.

break & continue

Es posible finalizar un bucle incluso si la sentencia condicional sigue siendo verdadera. Para ello, utilice una sentencia break.

He aquí un ejemplo:

>>x = 1

>>i = 0
>>while x < 100:
>>   if i == 5:
>>       break
>>   print(i, x)
>>   x = x*2
>>   i += 1

En este ejemplo, hay una variable i que actúa como contador. En cada iteración del bucle, el programa:

  1. Comprueba si x es menor que 100.

  2. Si lo es, el programa comprueba si i es igual a cinco.

  3. Si lo es, el bucle termina debido a la sentencia break. De lo contrario, imprime los valores de i y x, duplica el valor de x, e incrementa el valor de i en uno.

  4. Se repite hasta que x ≥ 100 o i = 5. En este caso, el bucle se rompe cuando i se convierte en 5.

También es posible saltarse una iteración del bucle sin ejecutar el resto del código dentro del bucle para la iteración actual. Para ello, utilice una sentencia continue.

He aquí un ejemplo:

>>i = 0

>>while i < 10:
>>    if i % 3 != 0:
>>        print(i)
>>        i += 1
>>        continue
>>    i += 1


Este ejemplo es un bucle que imprime todos los números del cero al 9 que no son divisibles por tres. Para cada iteración del bucle, el programa:

  1. Comprueba si i es menor que 10.

  2. Si lo es, el programa utiliza el operador de módulo para comprobar si i es divisible por tres.

  3. Si no lo es, entonces el programa imprime i, incrementa el valor de i en uno, y luego vuelve al principio para comprobar que i es menor que 10. Esto sucede debido a la sentencia continue. Esto sucede debido a la sentencia continue. El último i += 1 no se ejecuta, evitando así un doble incremento de i.

  4. Pero si el paso 2 evalúa i como divisible uniformemente por tres, nada en el bloque if se ejecuta (por lo que no hay sentencia print) y i se incrementa en uno.

  5. Se repite hasta que i se convierte en 10.

Puntos clave

Un bucle while te permite ejecutar repetidamente un bloque de código mientras cierta condición es verdadera. Puedes usar la sentencia break para salir del bucle prematuramente, y la sentencia continue para saltar a la siguiente iteración del bucle sin ejecutar el resto del código en la iteración actual.


Entradas recientes

Estructura secuencial. solución matemática vs programación

 **Ejemplo resuelto # 4:** Fuente: Capitulo 3 del libro "Lógica de programación de Efraín Oviedo" A la mamá de Juan le preguntan s...

Entradas Populares