Range en python 3

Hola a todos, hoy os voy a explicar como funciona range en python 3.

Range en python 3 es como un tipo de dato que nos genera un rango de números de un inicio a un final en formato de lista.

Es muy útil cuando queremos recorrer por ejemplo un simple rango de números y no tener que crearlo con un array como en otros lenguajes.

Tiene 3 parámetros:

  • El primero, indica el inicio del rango incluyendo el mismo, si es un solo parámetro, se considera el final y empieza desde 0 y va 1 a 1.
  • El segundo, indica el final del rango no incluyendo el mismo, por defecto va de uno en uno.
  • El tercero, indica el paso del rango, es decir, si vamos de 2 en 2, 3 en 3, etc. No puede ser cero.

Usamos list() para que podamos ver los elementos.

Veamos algunos ejemplos:

  • Generar un rango entre 0 y 10.

rango_1

También vale poner list(range(0,10))

  • Generar un número entre 5 y 10

rango_2

  • Generar un rango entre 0 y 10 pero dando pasos de dos en dos.

rango 3

  • Generar un rango negativo.

rango 4

Se genera una lista vacía ya que empieza en 0 y va de 1 en 1, por eso esta vacia.

  • Generar un rango entre -5 y 5

rango 5

Si le damos un final si funciona si usamos un negativo.

  • Generar un rango entre 5 y 10 con paso 0

rango 6

El avance no puede ser cero.

  • Generar un rango de 10 a 0.

rango 7

Podemos ir de delante a atrás pero es obligatorio el -1

  • Generar un rango de 0 a 10 y de 15 a 20, incluidos el 10 y 20

rango 8

Se puede sumar rangos para hacerlo uno. Importante: aquí list() es muy importante ya que sino nos dará un error.

  • Generar un rango desde 0 hasta la longitud de la cadena «Hola mundo»

rango 9

Aquí debemos usar la función len() que nos permite saber la longitud de una cadena, lista o tupla.

Es como si hiciéramos list(range(10)) 

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

2 comentarios

  1. corwin

    Muy buena bro me salvaste el dia

  2. Gustavo

    Hola ¿Cómo podría usar esto en el IDLE Shell de Python? No me toma esta sintaxis.
    muchas gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *