Utilizando o while loop#

Neste capítulo, vamos entender como utilizar o while loop e fornecer alguns exemplos de como utilizar ele na prática

O while loop#

O while loop, ou “loop enquanto”, é uma estrutura de repetição que permite a execução de um bloco de código enquanto a condição especificada for verdadeira. Ele é muito semelhante ao if, mas enquanto o if executa o código apenas uma vez, o while loop executa enquanto a condição for verdadeira.

x = 5
while x > 0:
    print(x)
    x = x - 1
print("código finalizado")

A estrutura é simples, vamos analisar linha a linha:

  1. Na primeira linha, x = 5, nós atribuimos o valor 5 à variável x.

  2. Na segunda linha, while x > 0:, nós fazemos a nossa condição: “enquanto x for maior que 0:”

  3. Na terceira linha print(x), imprimimos o valor de x

  4. Na quarta linha, x = x - 1, removemos 1 do valor de x

Assim, quando o programa é executado, as seguintes saídas serão impressas: 5, 4, 3, 2, 1. Isso acontece pois enquanto x for maior que 0, a condição é verdadeira e o código dentro do while loop é executado. Assim que x é decrementado para 0, a condição se torna falsa e o loop é interrompido.

É importante ter cuidado ao utilizar while loops, pois se a condição nunca se tornar falsa, teremos um loop infinito e o programa ficará preso. Se isso acontecer, não entre em pânico, acontece com todo mundo.

Se estiver num terminal durante um loop infinito, basta apertar ctrl+c que você força a parada na maioria dos casos. Em outros casos, você precisa fechar o terminal ou IDE na mão mesmo.

É necessário garantir que exista uma maneira de sair do loop, geralmente através de um contador ou utilizando uma condição de saída.

contador = 0
while contador < 10:
    print(contador)
    contador = contador + 1

Este exemplo é diferente do anterior, pois estamos incrementando o contador a cada iteração, ao invés de decrementar, e a condição de saída é contador < 10, o que garante que o loop será interrompido depois de contador = 9.

Incrementar com += e decrementar com -=#

Na maioria das linguagens de programação, existe um “atalho” para incrementar ou decrementar uma variável. A notação é a seguinte:

a = 4
a += 1
print(a) # 5

b = 10
b -= 1
print(b) # 9

Iterando sobre listas#

É importante mencionar que o while loop pode ser utilizado para iterar sobre listas e dicionários, assim como o for loop.

lista = [1, 2, 3, 4, 5]
i = 0
while i < len(lista):
    print(lista[i])
    i += 1

Neste exemplo, usamos uma variável contadora i para percorrer os elementos da lista e imprimi-los. A cada iteração, incrementamos i para que possamos acessar o próximo elemento da lista.

Break e Continue#

Além de utilizarmos condições para controlar a execução do loop, também podemos utilizar as palavras-chave break e continue.

A palavra-chave break permite que o loop seja interrompido imediatamente, não importando se a condição de parada ainda for verdadeira ou não.

lista = [10, 20, 30, 40, 50]
for i in lista:
    if i == 30:
        break
    print(i)

Neste exemplo, quando o número 30 for encontrado na lista, o loop será interrompido e não será impresso o número 30 na tela, e nenhum número que viria após ele. O resultado final seria “10, 20”.

Já a palavra-chave continue permite que a iteração atual do loop seja pulada, sem interromper o loop inteiro.

lista = [10, 20, 30, 40, 50]
for i in lista:
    if i == 30:
        continue
    print(i)

Neste caso, quando o número 30 for encontrado na lista, a iteração atual será pulada e o número 30 não será impresso na tela. O resultado final seria “10, 20, 40, 50”.

É importante notar que o uso de break e continue deve ser utilizado com muito cuidado, pois eles podem facilmente causar problemas de lógica e tornar o código difícil de entender.

Ideias de exercícios#

Com isso nós finalizamos a parte 3 de nosso curso.

Para fixar o que foi aprendido até agora, sugiro tentar resolver alguns exercícios:

  1. Crie um programa que peça ao usuário para digitar seu nome e idade e armazene essas informações em variáveis. Em seguida, use a estrutura de condição “if” para verificar se a idade do usuário é maior ou igual a 18 e, se sim, imprima “Você é maior de idade” e, caso contrário, imprima “Você é menor de idade.”

  2. Crie um programa que pergunte ao usuário se ele deseja continuar a digitar números. O programa deve continuar pedindo números até que o usuário digite “não”.

  3. Crie uma função que calcule a média aritmética de uma lista de números. Utilize a estrutura de repetição “for” e a função “range()” para percorrer a lista e calcular a soma dos números e, em seguida, divida essa soma pelo número de elementos na lista.

Se tiver dificuldade em algum deles, não hesite em pedir ajuda ou refazer o capítulo para fixar o conteúdo.