Bucles en Python: for y while con ejemplos
Lección del curso gratis de Python de Randy Varela: repites instrucciones con for y while y lo practicas con una tabla de multiplicar y un juego de adivinar un número.
El vídeo empieza en el minuto de esta lección y sigue con el resto del curso. Ver el curso completo con su índice · Ver en YouTube
Los bucles en Python repiten un bloque de código: for recorre una serie de datos, como una lista o un rango de números, y while se repite mientras se cumpla una condición. En esta lección del curso de Python gratis, Randy Varela explica los dos, avisa del riesgo de crear un bucle infinito y los practica con una tabla de multiplicar y un juego de adivinar un número.
Qué es un bucle y el riesgo del bucle infinito
Un bucle se parece a un condicional, pero no se ejecuta una sola vez: comprueba una condición y, mientras se cumpla, repite las instrucciones. Para que termine, algo tiene que cambiar en cada vuelta, por ejemplo una variable que suma uno hasta llegar a 10. Si la condición se cumple siempre, el programa entra en un bucle infinito y no termina nunca, un error que conviene evitar.
El bucle for: listas y range
Imagina una lista de nombres. Podrías imprimir cada posición a mano, pero si la lista tiene 50 datos o va creciendo, es inviable. Con for, Python recorre la lista entera y en cada vuelta guarda un elemento en una variable.
- Por costumbre se usa i como variable (y j en un bucle dentro de otro), pero puedes poner un nombre que explique qué recorres.
- range(5, 10) da del 5 al 9: el último número no se incluye. Para llegar al 10, suma uno.
- Un tercer número cambia el salto: de dos en dos, de tres en tres.
- for también recorre tuplas y datos de una base de datos.
Ejercicio: la tabla de multiplicar con for
Randy programa la tabla del 2. El bucle va de 1 a 10 con range(1, 11) y en cada vuelta guarda en una variable el resultado de 2 por i. Para que cada línea muestre la operación completa, usa una cadena f: una f delante de las comillas y las variables entre llaves. Cambiando el 2 por un 7 obtienes la tabla del 7.
El bucle while y el juego de adivinar un número
while repite el código mientras una condición sea verdadera. El primer ejemplo es un contador que empieza en 1 y se imprime mientras sea menor o igual a 5. Sin sumarle uno en cada vuelta, el programa se queda bloqueado: se para con Control + C. Después, Randy usa la librería random para elegir un número secreto entre 1 y 5 y crea un juego: mientras el usuario no acierte, el programa le vuelve a preguntar y le da pistas de si el número es mayor o menor.
Dudas sobre esta lección
¿Cuál es la diferencia entre el bucle for y el bucle while?
for recorre una serie de datos conocida, como los elementos de una lista o los números de un range, y termina cuando la acaba. while no recorre nada: repite el código mientras se cumpla una condición, así que eres tú quien debe hacer que esa condición deje de cumplirse. En la lección se ve con una tabla de multiplicar y con un juego.
¿Cómo detener un bucle infinito en Python?
Si el programa se queda bloqueado repitiendo lo mismo, pulsa Control + C en la terminal; si no responde, cierra esa terminal y abre otra. Para evitarlo, asegúrate de que algo cambia en cada vuelta. En el ejemplo de la lección, el contador no sumaba nada y el bucle no paraba; con contador += 1 termina al pasar de 5.
¿Por qué range(1, 10) no llega al 10?
Porque range empieza en el primer número y se detiene justo antes del segundo. range(1, 10) da del 1 al 9, así que para llegar al 10 hay que escribir range(1, 11). Si solo pones un número, como range(10), empieza en el 0. Es la razón por la que la tabla de multiplicar de la lección usa range(1, 11).
Más lecciones de este curso
- Cómo instalar Python y preparar tu editorEmpieza en el 26:59
- Condicionales en Python: if, elif y elseEmpieza en el 01:09:36
- Variables en Python y tipos de datosEmpieza en el 40:24
Lecciones relacionadas de otros cursos
- Cómo crear una política de privacidad para tu web o appLección · Cómo crear una app desde cero sin programar: curso gratis con inteligencia artificial
- Cómo hacer un perfil de LinkedIn que atraiga a reclutadoresLección · Curso de Flutter gratis: aprende a programar apps para Android e iOS
- Cómo subir un proyecto a GitHub paso a pasoLección · Curso de Flutter gratis: aprende a programar apps para Android e iOS
- Provider en Flutter: gestión de estado paso a pasoLección · Curso de Flutter gratis: aprende a programar apps para Android e iOS
