05. Laços de Repetição (while)#
O operador while
#
Se quiséssemos repetir a pergunta mais 100 vezes, poderíamos continuar copiando e colando o código. Um problema é que o código ficaria cada vez mais difícil de manter. Imagine que você decidiu aceitar a resposta 'não tenho'
ao invés de somente 'não'
. Agora você teria pelo menos 100 linhas diferentes para alterar no seu código.
Ok, é chato e pode dar bastante trabalho, mas ainda dá para fazer. Agora, o que precisaríamos fazer para que o programa continuasse perguntando enquanto o usuário não respondesse "não". Se copiássemos o mesmo bloco de código 1000 vezes ele poderia responder 'sim'
nas 1001 primeiras vezes. Se fizéssemos o mesmo 100000 de vezes, o usuário ainda poderia (por mais que improvável) responder 'sim'
nas 100001 primeiras vezes. Assim, vemos que é necessário utilizar alguma outra estrutura, no caso, o operador while
. Vamos começar relembrando o que o if
faz:

if
executa o bloco se a condição for verdadeiraO while
funciona de maneira similar, mas ao final da execução do bloco, a condição é reavaliada e, caso seja verdadeira, o bloco é executado novamente enquanto a condição for verdadeira:

while
executa o bloco enquanto a condição for verdadeiraExercise 1
Uma possível solução é apresentada a seguir:
tem_duvidas = True
while tem_duvidas:
resposta_do_aluno = input('Você está com dúvidas? ')
if resposta_do_aluno == 'não':
print('Até a próxima')
tem_duvidas = False
else:
print('Pratique mais')
Exercise 2
Answer
O while
só termina quando a condição é False
. Para isso, após o usuário digitar não
, a variável tem_duvidas
recebe o valor False
, a condição é verificada mais uma última vez e então o bloco é pulado.
Exercise 3
Exercise 4
Alguns padrões de uso do while
#
Vamos agora ver alguns padrões de uso do operador while
Clique aqui.