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:

Pruébalo · Python

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:

  • range no incluye el final. range(1, 10) llega hasta el 9. Por eso, para llegar al número de la persona, se escribe range(1, numero + 1) .
  • suma = suma + i no es una ecuación. Matemáticamente no tiene sentido; en programación es una asignación: el nuevo valor de suma es el que tenía más i . 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.

Reto · Python

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.

Reto · Python

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?

Pruébalo · Python

contador += 1 es la abreviatura de contador = contador + 1 .

Reto. Imprime cuántas vocales tiene la frase que ingrese la persona.

Reto · Python

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.

Reto · Python

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í.

Reto · Python

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.

Reto · Python

Sigue con la clase 8

El ciclo while

Seguir el canal de WhatsApp