A função range() - O que é, Para que serve e Como usar

Este tutorial é a continuação da aula sobre o laço FOR em Python (clique neste link anterior caso não tenha estudado a aula anterior).

Agora vamos aprender como deixar nossos laços e loopings bem mais poderosos e interessantes, através da função range.


Função range() do Python

A função range é bem simples e sua funcionalidade é simplesmente nos retornar uma lista de números inteiros.

A maneira mais simples de usar a função range é:
range(n)

Onde 'n' é um número.
Ele vai fornecer uma lista com os elementos: 0, 1, 2, ..., (n-1)
Note que ele fornece uma lista de 'n' elementos, começando sempre do 0.

Como vai fornecer 'n' elementos e começa do 0, o último elemento é sempre n-1 
Vamos ver um exemplo, refazendo o exercício 1 da aula passada:


Exemplo 1: Função range em Python

"Crie um script em Python que imprima os números de 1 até 5 na tela, usando a função range."
 
Nosso código fica assim:

for val in range(5):
    print(val+1)


Quando fizemos 'range(5)', essa função vai retornar a lista: [0,1,2,3,4]
Mas queremos números de 1 até 5, então na hora de imprimir basta somar 1 a variável 'val'.

Bem melhor que fazer [1,2,3,4,5], não é verdade?


Início e Fim na range()

No exemplo 1, usamos apenas um argumento (depois você vai aprender melhor o que é um argumento), no caso, um número inteiro.

Porém, podemos usar dois argumentos na range, da seguinte forma:

range(inicio, fim)

Isso vai nos fornecer uma lista de números, porém ao invés de começar em 0, começa em 'inicio' e vai até 'fim-1'

Exemplo 2: Função range em Python

"Crie um script em Python que imprima os números de 1 até 5 na tela, usando a função range como elemento de início e o de fim."


for val in range(1,6):
    print(val)


Note que não precisamos mais imprimir 'val+1', pois a variável 'val' irá receber os valores 1, 2, 3, 4, e o 5 (ou seja, até 6-1)


Início, Fim e o Pulo na range()

Note outra coisa em nossa amada função range, ele vai avançando de 1 em 1.
Mas se eu quiser avançar de 2 em 2, 3 em 3 ?

A range nos permite fazer isso, basta dizer o valor desse salto, desse pulo:

range(inicio, fim, pulo)

Exemplo 3: Função range em Python

"Crie um script em Python que imprima os números pares de 1 até 100."

Os números pares são 2, 4, 6, 8, ..., 100
Eles vão subindo, pulando de 2 em 2.

Veja como fica nosso laço FOR usando a range com pulo:


for val in range(2,101,2):
    print(val)

Primeiro a variável recebe par número 2. Depois imprime.
Em seguida, pula pro próximo elemento: 2+2=4 e então imprime.
Depois, pula pro próximo elemento: 4 + 2 = 6 e imprime.
Depois, 6+2 = 8 e imprime...

Atééééé 101-1=100
Beeeeem melhor usar o laço FOR e a range, não é verdade?
Imagina fazer isso na mão ([2,4,6,8,...,100]), não tem como!


Exemplo 4: Tabuada em Python

"Crie um script em Python que pede qual tabuada o usuário quer ver, em seguida imprima essa tabuada"

Primeiro, pedimos qual a tabuada o usuário quer (do 1, do 2, do 3...) e armazenamos essa informação na variável 'tabuada'.

A tabuada nada mais é que multiplicar um número por 1, depois por 2, depois por 3, depois por 4....até chegar no 10.

Vamos fazer com que a variável 'var' receba os valores de uma lista que vai de 1 até 10, e em cada iteração do laço FOR, multiplicamos pelo número que o usuário nos forneceu, a variável 'tabuada'.

Nosso código de tabuada fica assim:


tabuada = int(input("Qual tabuada fazer: ") )

for var in range(1,11):
    print(tabuada*var)


Note que fizemos de 1 até 10, se quiser pode fazer até cem, mil, um milhão...tudo com o mesmo código, praticamente.

Interessante Python, não é?
E em pensar que antigamente era 'castigo' e deve de casa, fazer tabuadas gigantescas, agora com 3 linhazinhas de código podemos fazer qualquer tabuada de maneira praticamente instantânea.

Vamos aprender a usar o laço FOR junto da função range para criar uma:
Progressão Aritmética (PA) em Python

Nenhum comentário:

Postar um comentário