13. for statement

The for statement allows us to repeat a block of code several times while a variable is changing its value.

This block of code that is repeated several times is called a loop.

Example:

for num in range(1, 10):
    print(num)

Este ejemplo imprimirá en pantalla todos los números desde el 1 hasta el 9.

La variable del bucle se llama 'num' y va tomando todos los valores en el rango desde 1 hasta 10 (no incluído).

Example:

for nombre in ['Abel', 'Beatriz', 'Conchi', 'Diana', 'Elena', 'Francisco']:
    print('Hola', nombre)

This example will print a greeting for all the names in the list, from 'Abel' to 'Elena'.

La variable del bucle se llama 'nombre' y va tomando todos los valores de la lista de nombres.

Exercises

  1. Write a program that prints the table of 6:

    6 x 0 = 0
    6 x 1 = 6
    6 x 2 = 12
    6 x 3 = 18
    6 x 4 = 24
    6 x 5 = 30
    6 x 6 = 36
    6 x 7 = 42
    6 x 8 = 48
    6 x 9 = 54
    6 x 10 = 60
    

    Clue:

    for ... :
        print('6 x', i, '=', 6*i)
    
  2. Write a program that asks for a number and then adds all the numbers between 1 and the entered number.

    Example 1:

    Introduce un número: 5
    La suma de todos los números desde
    el 1 hasta el 5 es igual a 15
    

    Example 2:

    Introduce un número: 27
    La suma de todos los números desde
    el 1 hasta el 27 es igual a 378
    

    Clue:

    num = input('Introduce un número: ')
    num = int(num)
    
    suma = 0
    for ... :
        suma = suma + i
    
    print('La suma de todos los números desde')
    print('el 1 hasta el', ... ,'es igual a', ... )
    
  3. Write a program that asks for a number and then multiplies all the numbers between 1 and the entered number. This operation is called factorial.

    Example 1:

    Introduce un número: 3
    El factorial de 3 es igual a 6
    

    Example 2:

    Introduce un número: 10
    El factorial de 10 es igual a 3628800
    

    Clue:

    num = input('Introduce un número: ')
    num = int(num)
    
    ...
    for ... in range( ... ):
       ...
    
    print('El factorial de', ..., 'es igual a', ...)
    
  4. Escribe un programa que imprima en pantalla todas las edades desde el 15 hasta el 20 y, al lado, que imprima si es mayor o menor de edad:

    15 años, menor de edad
    16 años, menor de edad
    17 años, menor de edad
    18 años, mayor de edad
    19 años, mayor de edad
    20 años, mayor de edad
    
  5. Write a program that asks for a number and then prints if it is divisible by any number between 2 and 20.

    Example 1:

    Introduce un número: 60
    
    60 es divisible por 2
    60 es divisible por 3
    60 es divisible por 4
    60 es divisible por 5
    60 es divisible por 6
    60 es divisible por 10
    60 es divisible por 12
    60 es divisible por 15
    60 es divisible por 20
    

    Example 2:

    Introduce un número: 28
    
    28 es divisible por 2
    28 es divisible por 4
    28 es divisible por 7
    28 es divisible por 14
    

    Note that a number 'num' is divisible by 5 if its remainder when divided by 5 equals zero:

    if (num % 5 == 0):
        print(num, ' es divisible por ', 5)
    
  6. Write a program that prints all the numbers from 1 to 100. Numbers divisible by 3 must be replaced by the word 'choco'. Numbers divisible by 5 must be replaced by the word 'late'. Numbers divisible by 3 and 5 must be replaced by the word 'chocolate':

    1
    2
    choco
    4
    late
    choco
    7
    8
    choco
    late
    11
    choco
    13
    14
    chocolate
    16
    .
    .
    .
    

    Note that a number 'num' is divisible by 3 if its remainder when divided by 3 equals zero:

    if (num % 3 == 0):
        print(num, ' es divisible por 3')