for e while em Python
- Amanda Nascimento
- 16 de ago. de 2024
- 3 min de leitura
Atualizado: 20 de abr.
Uso de laços for e while, que nos permitem executar um bloco de código repetidamente enquanto uma condição for verdadeira. A leitura de um laço pode ser entendida como "repita até que...", e consideramos loops infinitos quando a condição de um laço nunca se torna falsa.
Quando pensamos em estruturas de repetição, logo lembramos do For e do While, mas você sabe qual a diferença entre eles?

For
O for utilizamos quando sabemos onde parar.
Ele é ideal para repetir uma ação para cada item de uma sequência (como uma lista ou intervalo). É uma estrutura de repetição “controlada”, já que geralmente sabemos quantas vezes o loop será executado.
Por exemplo, contar até 3:
Na leitura do primeiro for a saída será 0, na segunda leitura será 1 e na terceira vez que o for foi rodado, a saída será 2.
Começamos a contagem sempre em 0 e o número após a vírgula será quantas vezes o for deve ser executado.
Listar os números:

For com if
Aqui, usamos um for com um if para verificar quais números em uma lista são pares e quais são ímpares.

For com função
Neste exemplo, usamos uma função para calcular o quadrado de um número e aplicamos essa função a cada elemento em uma lista usando um for

For com try exception


For com While
Percorrer uma lista com o for e, para cada número, usar um while para contagem regressiva até zero.

For com Range
Usar range é útil para fazer um loop um número específico de vezes. Aqui, imprimimos de 0 a 4.

For com break e continue
Aqui usamos break para parar o loop quando encontramos o número 3, e continue para pular o número 2.

For Aninhado (Loop dentro de Loop)
um for dentro de outro for. Aqui, estamos iterando por duas listas ao mesmo tempo.

While
O while utilizamos quando existe uma condição lógica de parada.
Ele é ideal para repetir uma ação enquanto uma condição específica for verdadeira. É uma estrutura de repetição “não controlada”, já que o número de repetições pode variar dependendo da condição.
No exemplo abaixo, um loop while é usado para imprimir números de 1 até 5.

While com if
No exemplo abaixo, criei a variável senha para que o usuário digite a senha.
O usuário pode digitar o que ele quiser, que ele nunca sairá do looping infinito que é o while, ate que ele digite a senha correta ou apele e feche o programa rs
a senha correta neste exemplo é amanda, e eu poderia usar apenas um if com a senha correta e o break para para o script e o else para se qualquer coisa digitada que nao seja
amanda, irá aparecer a mensagem de "senha errada".
E com isso, podemos entender melhor a estrutura do if. Sempre começaremos com o if .
Toda essa estrutura precisa estar dentro do while conforme exemplo abaixo:
O while não precisa necessariamente estar associado a um if, embora seja comum usá-los juntos, ele simplesmente executa um bloco de código enquanto uma condição for verdadeira. Ele continua repetindo até que essa condição se torne falsa, e o if é frequentemente utilizado para controlar ou verificar essa condição.
while True:
senha = input("Digite a senha: ")
if senha == "alfredo":
print("senha errada")
elif senha == "amanda":
print("senha correta")
break
elif senha == "tunico":
print("senha errada")
else:
print("Senha errada")
While e função def

def analiseidade(idade):
if idade <= 12:
classificacao = 'criança'
elif idade >= 13 and idade <= 19:
classificacao = 'adolescente'
elif idade >= 20 and idade <= 64:
classificacao = 'adulto'
else:
classificacao = 'idoso'
return classificacao
continuar = 's' # Inicializa a variável para entrar no loop
while continuar.lower() == 's': # Continua enquanto o usuário digitar 's' ou 'S'
idade = int(input("Digite a idade: "))
# Chama a função e armazena o resultado na variável classificacao
classificacao = analiseidade(idade)
# Exibe a classificação
print(f"A classificação da idade recebida é: {classificacao}")
# Pergunta ao usuário se deseja continuar
continuar = input("Deseja continuar? (s/n): ")
# Verifica se a entrada é válida
while continuar.lower() not in ['s', 'n']:
continuar = input("Entrada inválida. Deseja continuar? (s/n): ")
print("Programa encerrado.")
While com try exception



While com for
usamos um while para controlar a execução de um for. O while controla a quantidade de vezes que o loop for será executado.

While com condição de parada interativa
Este exemplo usa um while para continuar solicitando ao usuário que digite um número até que ele digite um número válido (no caso, um número maior que zero).

While e for separados com objetivos diferentes
No exemplo abaixo o while é utilizado X vezes o número que o usuário escolheu digitar em num_produtos
O for itera pela lista subtotais e retorna:
i: O índice da iteração (começando de 1 por causa do start=1).
subtotal: O valor do subtotal correspondente ao índice na lista.


Obs.: Utilize no vscode CTRL + C para dar um break em loopings infinitos. :)