Porque Do-While tem condição de saída?
Porque Do-While tem condição de saída?
Oi Marcelo, como você está?
A condição de entrada irá fazer o teste da condição antes de realizar qualquer procedimento dentro do bloco. Por exemplo:
i = 1
while i <= 5:
print(i)
i = i + 1
Observe que nesse exemplo, primeiro verificamos se a variável i
é menor ou igual a 5 e caso seja, iremos fazer algum procedimento dentro do laço(nesse caso, printar a variável i
).
Já na condição de saída, fazemos algo primeiro e somente depois verificamos a condição.Porém, o Python não possui um laço com uma condição de saída, que outras linguagens chamam de do-while. Em outras linguagens o do-while é similar ao trecho abaixo:
do
faca alguma coisa ...
while condicao_para_continuar_executando_o_loop
Observe que fazemos algo primeiro, para somente depois verificar a condição para repetição.
E podemos simular isso no Python, mesmo que ele não tenha o do-while propriamente dito. Veja:
i = 1
while True:
print(i)
i = i + 1
if i > 5:
break
Nesse caso, entramos no laço sem verificar nenhuma condição(while True) e após isso, dentro desse laço verificamos a condição de repetição. Queremos que seja repetido caso a variável i
seja menor que 5. E aqui a lógica muda um pouco, na nossa verificação colocamos a condição de parada do loop, ou seja, irá parar o loop quando for maior que 5, enquanto não for, irá repetir o procedimento.
O break é para forçar a saída do loop quando atingir a condição de parada da repetição.
A regra e ouro é: queremos testar a condição primeiro? Tudo bem, uso o while. Quero fazer algo primeiro e somente depois testar a condição? Uso a abordagem do do-while. O do-while é utilizado em muitos casos onde precisamos que alguma coisa seja feita pelo menos uma vez, já que utilizando apenas o while, caso a condição seja falsa não será executado nada dentro do bloco, só entrará no bloco caso a condição seja satisfeita.
Qualquer dúvida estou por aqui. Abraços e bons estudos!
Dúvida solucionada! Muito obrigado :)