top of page

For e While em Python

Atualizado: 25 de ago.

Quando pensamos em estruturas de repetição, logo lembrados do For e do While, mas você sabe qual a diferença entre eles?



For


O for utilizamos quando sabemos onde parar.

Por exemplo, contar até 3


for i in range(0,3):

print(i)


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.


While


O while utilizamos quando existe uma condição lógica de parada.


Por exemplo, 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:



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.")

bottom of page