1
resposta

Quantas vezes a mensagem será exibida?

contador = 0

while contador < 5:
    print(f"Bem-vindo ao Buscante!")
    contador += 1
1 resposta

Oi, Eduardo.

Essa é uma excelente questão para entender o comportamento do laço while. Diferente do for, que geralmente percorre uma lista ou intervalo definido, o while depende exclusivamente de uma condição ser verdadeira para continuar executando.

No seu código, a mensagem será exibida 5 vezes.

Por que exatamente 5 vezes?

O segredo está em acompanhar o valor da variável contador em cada ciclo (ou iteração):

  1. 1ª vez: O contador começa em 0. Como 0 é menor que 5, o Python entra no laço, imprime a mensagem e soma 1. Agora o contador vale 1.
  2. 2ª vez: 1 é menor que 5. Imprime a mensagem e soma 1. O contador vale 2.
  3. 3ª vez: 2 é menor que 5. Imprime a mensagem e soma 1. O contador vale 3.
  4. 4ª vez: 3 é menor que 5. Imprime a mensagem e soma 1. O contador vale 4.
  5. 5ª vez: 4 é menor que 5. Imprime a mensagem e soma 1. O contador vale 5.

Após a quinta impressão, o Python volta ao topo e testa: 5 é menor que 5? A resposta é falsa. Por isso, o laço encerra e o programa segue para as linhas debaixo.

Atenção ao incremento

A linha contador += 1 é fundamental. Sem ela, o contador permaneceria eternamente em 0, a condição 0 < 5 seria sempre verdadeira e teríamos o que chamamos de loop infinito.

Se você quisesse que o usuário visse o número de cada mensagem, bastaria adicionar a variável no texto:

contador = 0
while contador < 5:
    # Somamos 1 apenas na exibição para o usuário ver de 1 a 5
    print(f"{contador + 1}ª vez: Bem-vindo ao Buscante!")
    contador += 1

O uso do while é muito comum quando não sabemos de antemão quantas vezes algo vai acontecer, como esperar o usuário digitar uma senha correta ou carregar dados de um site.

Como você faria se precisasse que essa mensagem aparecesse apenas 3 vezes em vez de 5?

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!