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
positivo!!
ResponderExcluirisso é muito bom, o curso esta ajudar muito
ResponderExcluirMuita boa a aula!
ResponderExcluirAqui vai outra forma, que fiz em relação ao exemplo da tabuada:
ResponderExcluirtabuada = int(input('Qual tabuada fazer: '))
for tabuada in range(tabuada,tabuada*11,tabuada):
print(tabuada)
Adaptei o código para ver também algumas coisas adicionais (ex: tabuada do 4: 1 * 4 = 4, 2 * 4 = 8 etc). Obrigado pelo exemplo!
ResponderExcluirtabuada = int(input("Qual tabuada você quer fazer? "))
for var in range (1,11):
print(var,"*",tabuada,"=", tabuada*var)
tabuada = int(input('Digite qual tabuada quer saber: '))
ResponderExcluirfor var in range(1,11):
print(tabuada,'x', var,'=',(tabuada * var))
tabuada = int(input('Digite um número para a tabuada: '))
ResponderExcluirfor i in range(1,10):
print(f'{tabuada} x {i} = {tabuada * i}')
n=int(input("Digite a tabuada:"))
ResponderExcluirk=n
for val in range(0,(n*10)+1,k):
print(val)