Ver Feed RSS

root@blog:/# chmod o+r *

[Curso de Python] Estrutura While: Continue e Break

Avalie este Post de Blog

Antes de prosseguir leia os artigos anteriores aqui



Bom dia a todos! Finalmente, depois de uma longa pausa, estamos de voltar com o funcionamento normal desse blog! Peço desculpas a todos pelo atraso das postagens, garanto que não foi preguiça ou desinteresse, foram "motivos de força maior"!

Deixando o papo de lado, hoje vamos conhecer duas palavra que vai ajudar muito a estruturar o fluxo dos programas. Essas palavras são continue e break.


Continue



A palavra continue tem uma funcionalidade muito importante na elaboração de loops. Ao 'resumir' uma iteração do loop ela pode evitar que diversas operações sejam executadas desnecessariamente.

Um exemplo prático que exemplifica esse funcionamento:
Código :
x = 0
while x <= 10:
    x = x + 1
    if x == 5:
        print 'nao vou imprimir o 5'
        continue
    print 'x =',x
Execução:
Código :
x = 1
x = 2
x = 3
x = 4
nao vou imprimir o 5
x = 6
x = 7
x = 8
x = 9
x = 10
x = 11
Como dito, o continue resume a iteração em que x é igual a 5. Quando o interpretador python 'encontra' o continue ele volta para o início do while sem executar as linhas que estão abaixo.

Muitos discordam da utilidade do continue pois dizem que ele pode ser substituído por um simples if, como no exemplo abaixo, que gera o mesmo funcionamento do último exemplo:
Código :
x = 0
while x<= 10:
    x = x + 1
    if x != 5:
        print 'x =',x
    else:
        print 'Nao vou imprimir o 5'
O código acima gera a seguinte saída:
Código :
x = 1
x = 2
x = 3
x = 4
Nao vou imprimir o 5
x = 6
x = 7
x = 8
x = 9
x = 10
x = 11
Eu defendo o uso do continue pois, muitas vezes é necessário evitar que sejam executados códigos que venham depois dos if's, além de tornar o código mais compreensível.


Break



Eu considero que o break simplesmente não tem substituto. Em contraste com o continue, que resume uma iteração do loop, o break é responsável por 'quebrar' o loop atual:
Código :
x = 0
while True:
    print 'x =',x
    x = x + 1
    if x == 10:
        print 'Saindo...'
        break
No exemplo acima, não é utilizada nenhuma condição dentro do while, teoricamente este seria um loop infinito. Atenção, este tipo de loop só deve ser utilizado para fins didáticos, isso é um pouco perigoso e sempre deve ser evitado.

Para evitar que esse loop fique eternamente incrementando o valor de x, foi utilizado uma condição para x igual a 10. Quando essa condição for satisfeita é impresso a string 'Saíndo...' e depois é executado o break, que automaticamente sai do do loop while sem executar nenhum outra linha. Segue a saída gerada pelo exemplo acima

Código :
x = 0
x = 1
x = 2
x = 3
x = 4
x = 5
x = 6
x = 7
x = 8
x = 9
Saindo...
No próximo post veremos como aliar o continue, o break e o else na estrutura while para obter resultados que antes exigiriam um código mais extenso e com mais variáveis.

Até mais...

Atualizado 01-09-2010 em 09:13 por Magnun

Categorias
Python , Artigos , Cursos , Curso de Python

Comentários

  1. Avatar de makoreactor
    Estou acompanhando desde o inicio o seu curso e estou gostando muito. Gostaria de saber se você tem as aulas em pdf ou algo parecido para baixar. Gostaria também que tivesse mais alguns exercícios propostos, pois para nós iniciantes é um pouco dificil de pensar em usar python na pratica.
    Obrigado
  2. Avatar de Magnun
    Olá makoreactor,

    Bom saber que você está acompanhando desde o início! Vai ter exercícios propostos sim, só um pouco mais pra frente! Continue lendo. Quanto ao PDF, eu não tenho nada do tipo, infelizmente.

    Até mais...
  3. Avatar de danilo21
    [...]Como em C! estou um pouco "atrasado", mas este curso tem sido muito útil para mim, valeu Magnun.

+ Enviar Comentário