14. The range() function

range(start, stop, step)

The range() function is used to create a range of numbers in a for loop. It has three parameters with default values, so it can have one, two, or three arguments.

With three arguments:

  • start is the first integer that the range starts with.
  • stop es el número que finaliza el rango. Nunca se llega a ese valor.
  • step es el valor que se va añadiendo a start para conseguir los números consecutivos.

Example:

>>> # comenzando en 2, parar en 20, saltando de 3 en 3
>>> for i in range(2, 20, 3):
...     print(i)
...
    2
    5
    8
    11
    14
    17

>>> # comenzando en 100, parar en 0, saltando de -10 en -10
>>> for i in range(100, 0, -10):
...     print(i)
...
    100
    90
    80
    70
    60
    50
    40
    30
    20
    10

With two arguments:

  • Solo se utilizan los parámetros start y stop.
  • El parámetro step se supone igual a uno.

Example:

>>> for i in range(5, 11):
...     print(i)
...
    5
    6
    7
    8
    9
    10

>>> for i in range(-6, 3):
...     print(i)
...
    -6
    -5
    -4
    -3
    -2
    -1
    0
    1
    2

With an argument:

  • The argument is copied into the stop parameter.
  • El parámetro start se supone igual a cero.
  • El parámtro step se supone igual a uno.

Example:

>>> for i in range(6):
...     print(i)
...
    0
    1
    2
    3
    4
    5

>>> for i in range(3):
...     print(i)
...
    0
    1
    2

Como el rango comienza en el número cero, el número de elementos del rango será igual al número que escribimos dentro de la función rango.

Exercises

  1. Write a program that prints all even numbers between 2 and 20, inclusive.

  2. Write a program that prints all the odd numbers between 1 and 19, inclusive.

  3. Write a program that prints a countdown that starts by printing 10 and ends by printing 0.

  4. Write a program that writes the following list:

    50
    45
    40
    35
    30
    25
    20
    
  5. Write a program that writes the following list:

    -50
    -45
    -40
    -35
    -30
    -25
    -20
    
  6. Escribe un programa que sume todos los primeros 'n' números impares y comprueba que el resultado es igual al cuadrado de 'n'.

    Pista:

    num = input('Introduce cuántos impares sumaremos: ')
    num = int(num)
    
    suma = 0
    for ... in range(1, num*2, ... ):
        suma = ...
    
    print('La suma de los', num, 'primeros impares es igual a', suma)
    print('El cuadrado de', num, 'es igual a', num*num)