Clase 07 · 33 minGratis
El ciclo for
Clase 7 del curso gratis Aprende a Programar con Python: repetir una tarea un número de veces con for y range. Cinco ejercicios: suma acumulada (el truco de Gauss), tabla de multiplicar, contador de vocales, factorial y patrón de asteriscos.
Toca cualquier marca ▸ 0:00 de los apuntes y el video salta a ese momento. Abrir en YouTube
Repetir un número de veces
for repite una tarea un número determinado de veces: es un ciclo
finito . En muchos lenguajes se escribe con un contador
que arranca en 1, sube de uno en uno (i++) y se detiene cuando deja de
cumplir una condición, como i <= 10 . Si el contador
bajara en vez de subir, la condición nunca dejaría de cumplirse: un ciclo
infinito .
En Python se escribe así, y la i es una costumbre, no una obligación:
Ejercicio 1: la suma acumulada
Pedir un número y sumar todos desde el 1 hasta él: con 3, 1 + 2 + 3 = 6 .
Dos claves del video:
rangeno incluye el final.range(1, 10)llega hasta el 9. Por eso, para llegar al número de la persona, se escriberange(1, numero + 1).suma = suma + ino es una ecuación. Matemáticamente no tiene sentido; en programación es una asignación: el nuevo valor desumaes el que tenía mási. La variable que acumula arranca en 0.
Reto. Imprime la suma de todos los números del 1 al número que ingrese la persona.
Del 1 al 100 da 5050. Gauss, siendo niño, lo resolvió sin sumar uno por uno: 1 + 100 = 101, 2 + 99 = 101, 3 + 98 = 101… cincuenta parejas de 101, 5050 .
Ejercicio 2: la tabla de multiplicar
Aquí no hay nada que acumular: cada resultado no depende del anterior
. range(1, 11) da del 1 al 10, y en cada vuelta basta
con multiplicar . Para que se vea como una tabla, el
f-string pone cada variable en su sitio .
Reto. Imprime la tabla del número que ingrese la persona, del 1 al 10,
con el formato 4 x 1 = 4.
Ejercicio 3: contar vocales
El salto de este ejercicio: for no solo recorre números. También recorre
un texto, letra por letra . Y para preguntar si una
letra es vocal, basta con in: ¿está en el texto de las vocales?
contador += 1 es la abreviatura de contador = contador + 1
.
Reto. Imprime cuántas vocales tiene la frase que ingrese la persona.
Prueba con canción: dice 2, no 3. La «ó» con tilde no está en la lista.
¿Cómo lo arreglarías?
Ejercicio 4: el factorial
Como la suma acumulada, pero multiplicando: el factorial de 5 es 1 × 2 × 3 × 4 × 5 = 120. La diferencia está en el valor inicial: el neutro de la suma es 0, el de la multiplicación es 1. Si arrancas en 0, todo da 0 .
Reto. Imprime el factorial del número que ingrese la persona.
En el video aparece la duda de si el factorial de 100 «se desbordó en
memoria» . En Python, no: los enteros crecen lo que haga
falta, y los ceros del final son reales (100! termina en 24 ceros). En C o en
Java, un int sí se habría desbordado.
Ejercicio 5: el patrón de asteriscos
Un truco propio de Python: un texto multiplicado por un número se repite.
"*" * 3 es *** .
Reto. Pide un número de filas e imprime un triángulo: un asterisco en la primera fila, dos en la segunda, y así.
La tarea del video : que salga centrado, como un árbol de Navidad. Pista: en cada fila, antes de los asteriscos van espacios, y cada fila tiene dos asteriscos más que la anterior.
