Cuando trabajas con listas en Python, acceder dato por dato con indexación se vuelve tedioso. Los bucles for y while en Python automatizan ese recorrido y te permiten iterar colecciones completas con pocas líneas de código, además de controlar el flujo con sentencias como break y continue.
Esta guía te sirve si estás empezando con Python y necesitas entender cuándo usar cada bucle, cómo funciona range() y cómo combinar condicionales dentro de una iteración.
¿Cómo funciona el bucle for en Python para recorrer una lista?
El for se usa cuando ya sabes sobre qué colección vas a iterar. La idea es simple: por cada elemento dentro de la colección, ejecutas un bloque de código.
Imagina que tienes una lista llamada numbers con los valores del uno al seis. Para recorrerla, escribes:
python
numbers = [1, 2, 3, 4, 5, 6]
for i in numbers:
print("i =", i)
En cada vuelta, i toma el valor del elemento actual. Primero vale 1, luego 2, y así hasta llegar al 6. Si dentro del bucle modificas i (por ejemplo, i = i + 1), ese cambio solo afecta a esa iteración, no a la lista original.
¿Cuándo uso for en lugar de while? Usa for cuando conoces la colección o el rango exacto que quieres recorrer. Usa while cuando la iteración depende de una condición que cambia dinámicamente.
¿Para qué sirve la función range en un for?
range() genera secuencias numéricas sin necesidad de escribir la lista completa. Es el compañero natural del for cuando quieres iterar por posiciones o cantidades.
range(10) produce los números del 0 al 9 (siempre uno antes del valor que pasas).
range(3, 10) arranca en 3 y termina en 9.
Puedes definir inicio, fin y paso según lo que necesites.
python
for i in range(3, 10):
print(i)
Este bloque imprime los números del 3 al 9. Recuerda que el límite superior nunca se incluye en el resultado.
¿Cómo combinar for con if dentro de una iteración?
Es común que mientras recorres una colección quieras filtrar o detectar un elemento específico. Ahí entra el condicional if dentro del for.
Supón que tienes una lista de frutas y quieres encontrar la naranja:
python
frutas = ["manzana", "pera", "uva", "naranja", "naranja", "tomate"]
for fruta in frutas:
print(fruta)
if fruta == "naranja":
print("Naranja encontrada")
El bucle imprime cada fruta y, cuando coincide con "naranja", ejecuta la línea adicional. Así combinas iteración y evaluación lógica en el mismo bloque.
¿Cómo se usa el bucle while en Python sin caer en un loop infinito?
while significa mientras en inglés, y eso es justo lo que hace: repite el bloque mientras una condición sea verdadera. El riesgo está en olvidar actualizar la variable que controla la condición.
python
x = 0
while x < 5:
print(x)
x = x + 1
Si olvidas la línea x = x + 1, el valor de x se queda en 0 para siempre y entras en un bucle infinito. La forma de salir cuando esto pasa en la terminal es con Ctrl + C.
La regla mental es clara: dentro del cuerpo del while siempre debe existir algo que modifique la condición para que en algún punto se vuelva falsa.
¿Qué provoca un bucle infinito en while? No actualizar la variable de control dentro del bloque. Si la condición nunca cambia a falsa, el código se repite hasta que lo interrumpes manualmente.
¿Cuál es la diferencia entre break y continue en Python?
Dentro de cualquier bucle puedes alterar el flujo natural con dos palabras reservadas que sirven para situaciones distintas.
break: detiene el bucle por completo en el momento en que se ejecuta.
continue: salta la iteración actual y pasa directamente a la siguiente.
Mira el contraste con la lista numbers:
python
for i in numbers:
if i == 3:
continue
print(i)
Aquí el resultado es 1, 2, 4, 5, 6. El número 3 se omite, pero el bucle sigue su curso. Si en lugar de continue usas break, la salida sería 1, 2 y el bucle termina ahí mismo.
En un while aplica igual:
python
x = 0
while x < 5:
print(x)
if x == 3:
break
x = x + 1
El código imprime hasta 3 y se detiene. Sin el break, llegaría hasta 4.
¿Cuándo usar continue en vez de break? Usa continue cuando quieres ignorar casos puntuales pero seguir procesando el resto. Usa break cuando ya encontraste lo que buscabas o no tiene sentido continuar.
Estos fundamentos se asimilan mejor cuando los pruebas tú mismo. Cambia los rangos, mete condicionales más complejos, mezcla break y continue en el mismo bucle. ¿Qué ejercicio te gustaría compartir para practicar estos conceptos?
Creo que sería mejor colocar la clase de List Comprehension después de este bloque de clases, creo mas sencillo comprender los bucles tradicionales y después la forma simplificada
Bucle for en Python:
El bucle for elemento in secuencia: # Bloque de código a ejecutar repetidamente # Puedes utilizar el elemento actual (elemento) en el bloque de códigoEn cada iteración, elemento toma el valor del siguiente elemento de la secuencia y se ejecuta el bloque de código asociado. El bucle for termina cuando se agotan los elementos en la secuencia.for se utiliza para iterar sobre una secuencia (como una lista, tupla, diccionario, conjunto o cadena) o cualquier objeto iterable. La sintaxis general es:
for elemento insecuencia: # Bloque de código a ejecutar repetidamente
# Puedes utilizar el elemento actual(elemento) en el bloque de código
En cada iteración, elemento toma el valor del siguiente elemento de la secuencia y se ejecuta el bloque de código asociado. El bucle for termina cuando se agotan los elementos en la secuencia.
Ejemplo de bucle # Iterar sobre una lista de nombres e imprimir cada nombre nombres = ["Juan", "María", "Carlos", "Ana"] for nombre in nombres: print(nombre) # Calcular la suma de los primeros 5 números naturales suma = 0 for num in range(1, 6): # range(1, 6) genera números desde 1 hasta 5 suma += num print("La suma de los primeros 5 números naturales es:", suma)for:
```js
Iterar sobre una lista de nombres e imprimir cada nombre
nombres = ["Juan", "María", "Carlos", "Ana"]
for nombre in nombres:
print(nombre)
Calcular la suma de los primeros 5 números naturales
suma = 0
for num in range(1, 6): # range(1, 6) genera números desde 1 hasta 5
suma += num
print("La suma de los primeros 5 números naturales es:", suma)
En este ejemplo:*El primer bucle `for` itera sobre la lista `nombres` e imprime cada nombre en la lista.*El segundo bucle `for` utiliza `range(1, 6)` para generar números del 1 al 5, y calcula la suma de estos números.### Bucle`while` en Python:El bucle `while` se utiliza para ejecutar un bloque de código mientras una condición especificada sea verdadera.La sintaxis general es:```js
whilecondicion: # Bloque de código a ejecutar repetidamente
# La condición se evalúa antes de cada iteración
El bloque de código dentro del bucle while se ejecuta repetidamente siempre que condicion sea verdadera. Si en algún momento la condición se evalúa como falsa, el bucle while termina y la ejecución continúa con el código después del bucle.
Ejemplo de bucle while:
# Contador hasta 5 usando un bucle whilecontador =1while contador <=5:print(contador) contador +=1 # Incrementa el contador en cada iteración
# Sumar números ingresados por el usuario hasta que se ingrese un cero
suma =0num =int(input("Ingrese un número (o 0 para salir): "))while num !=0: suma += num
num =int(input("Ingrese otro número (o 0 para salir): "))print("La suma de los números ingresados es:", suma)
En este ejemplo:
El primer bucle while cuenta del 1 al 5 e imprime cada número.
El segundo bucle while solicita al usuario ingresar números y suma esos números hasta que se ingrese un cero.
Nice summary i love it!
Interesante la forma de usar una negación para continuar con el ciclo y manejar directamente el break.
¿Donde puedo sacar ejercicios para prácticar?
Hola Sergio, yo ahora uso chatgpt para formular ejercicios, incluso es bueno validando código y encontrando errores :D
interesting these approximations, with the use of gpts you can make a lots of environments and situations to practice your knowledge
Los **bucles** y el **control de iteraciones** son herramientas fundamentales en la programación que te permiten ejecutar un bloque de código repetidamente. Python ofrece varios tipos de bucles y mecanismos para controlar cómo se ejecutan estas iteraciones.
### Tipos de Bucles
1. **for**: Se utiliza para iterar sobre una secuencia (como una lista, tupla, diccionario, conjunto o cadena) o sobre un rango de números.
2. **while**: Repite un bloque de código mientras una condición dada sea True.
### Bucle for
El bucle for en Python es ideal para iterar sobre los elementos de una secuencia. La sintaxis básica es la siguiente:
for elemento in secuencia:  \# Bloque de código a ejecutar
#### Ejemplo: Iterar sobre una lista
numeros = \[1,2,3,4,5]for numero in numeros:  print(numero)
En este ejemplo, el bucle for recorre la lista numeros y numero toma el valor de cada elemento en la lista durante cada iteración.
#### Ejemplo: Usando range()
La función range() se utiliza comúnmente con for para generar una secuencia de números.
for i inrange(5):# Esto genera los números 0 a 4  print(i)
El código anterior imprime los números del 0 al 4. También puedes especificar un inicio, fin y un paso:
for i inrange(1,10,2):  print(i)\# Salida:1,3,5,7,9
### Bucle while
El bucle while repite un bloque de código mientras una condición sea True. La sintaxis básica es:
while condición:  \# Bloque de código a ejecutar
Este ejemplo sigue preguntando al usuario si quiere salir hasta que la respuesta sea 's'.
---
Estos son los fundamentos de los bucles y el control de iteraciones en Python. Son herramientas esenciales para ejecutar tareas repetitivas y para gestionar la lógica de flujo en tus programas.
En el contexto de Python, "i" es comúnmente usado como variable de iteración en bucles, especialmente en estructuras como el "for". La "i" proviene del término "índice" (index en inglés) y se utiliza para representar la posición actual dentro de una secuencia, como una lista. Es una convención estándar debido a su simplicidad y claridad en el código, lo que facilita la comprensión de la función del bucle.
Sabian que pueden usar else en un ciclo for?
Al usar else con un ciclo for, el bloque de código dentro de else se ejecutará únicamente si el ciclo completa todas sus iteraciones sin encontrar una condición que provoque una interrupción (como break). Esto es especialmente útil para realizar acciones cuando no se ha encontrado un elemento que cumpla cierta condición durante la búsqueda en una lista, tupla o cualquier otro iterable
solo escriben else al final del ciclo for y lo tienen ya listo
El uso de bucles while en desarrollos profesionales puede ser menos común en comparación con for debido a varias razones. Los bucles while son más propensos a generar errores como bucles infinitos si no se gestionan correctamente. En cambio, los bucles for son más legibles y controlables, especialmente al iterar sobre colecciones conocidas, como listas o rangos. Esto facilita la comprensión del código y reduce riesgos en el mantenimiento. En entornos profesionales, la claridad y la seguridad en el código son primordiales.
Piedra papel o tijeras usando funciones para controlar el numero de rounds y guardar los puntos y método random.choice para simular al CPU:
Hola, Buen Dia, de casualidad alguien sabe si existe alguna pagina o website donde pongan ejercicios de programación para así afianzar el conocimiento?
Codewars es muy bueno y tiene varios lenguajes para practicar
Tienes AdventJS, Advent of Code y el famoso Leetcode
Con estos ejercicios por fin abrí mi cuenta de Github y les comparto el enlace con los proyectos de práctica:
Calculadora Agrícola
Juego de Piedra, Papel o Tijera
Adivina el número!
Inventario en consola
Multiplos de 2 y 3
Esta clase DEBERIA estar antes del Comprehension List.
Para practicar los conceptos de bucles y control de iteraciones en Python, puedes realizar el siguiente ejercicio:
Ejercicio: Crea un programa que imprima los números del 1 al 20, pero omita los múltiplos de 3.
Utiliza un bucle for para iterar a través de un rango de números del 1 al 20.
Dentro del bucle, utiliza una condición if para verificar si el número es múltiplo de 3.
Si el número es múltiplo de 3, utiliza continue para omitirlo.
Imprime el número si no es múltiplo de 3.
Este ejercicio te ayudará a consolidar el uso de bucles y condiciones en Python. ¡Inténtalo!
for num inrange(1,21):if num %3==0:continueprint(num)```for num inrange(1,21):if num %3==0:continueprint(num)
Vamos con toda!! Cada vez se pone más interesante.
while true es una mala práctica, solo escribir while: y lo que sigue hace lo mismo
Hola Alver! depende mucho del ejercicio, ahora que estamos aprendiendo usar while true ayuda mucho a comprender sobre bucles y cuando terminarlos :)
Tienes razón, pero todo depende del contexto.
Las estructuras de programación son herramientas que nos permiten repetir un conjunto de instrucciones hasta que se cumpla una condición. Los bucles son fundamentales en programación y se utilizan para automatizar tareas repetitivas. El bucle for en se utiliza para iterar sobre una secuencia como una lista, una tupla o un rango.