NOME DURAÇÃO
Curso de Python
Primeira Aula de Python
Como Instalar o Python no Windows
Características do Python
Recursos do Python
IDLE - Modo Interativo do Python
Instalando o PyCharm no Windows
Primeiro programa em Python
Comentários em Python
Indentação do código Python
Variáveis em Python
Características das Variáveis em Python
Nomenclatura das Variáveis em Python
Tipos de dados em Python
Variáveis do tipo Ponto Flutuante do Python
Entrada de Dados em Python
Operadores Aritméticos do Python
Módulo da Divisão em Python
Potenciação e Radiciação em Python
Operadores Relacionais do Python
Tomada de Decisão em Python
Estrutura if e else em Python
Depurando código Python
Operadores Relacionais Compostos do Python
Operadores Relacionais na Prática em Python
Operadores Lógicos em Python
Blocos de Instrução em Python
Blocos de Instrução em Python (Parte II)
Blocos de Instrução Python na Prática
Escopo de Nomes em Python
Estrutura de Atribuição Simples do Python
Atribuição Múltipla em Python
Operadores de Atribuição Compostos do Python
Atribuição Condicional em Python
Iteração em Python
Laços de Repetição do Python
Estrutura de repetição while em Python
A instrução for em Python
A função range() do Python
O for loop e a função range() do Python
Instrução break do Python
Instrução continue em Python
Estruturas de Dados Lista em Python
Lista, Pilha, Array, Set em Python
A classe list do Python
Classe list - Conceitos Avançados do Python
Funções da Classe list do Python
Iteração de Listas em Python
Fatiando Listas em Python
Incluindo, Alterando e Excluindo Elementos no Python
Ordenamento de Listas em Python
Quantidade de Itens em Python
Tuplas em Python
Operadores in e not in do Python
Operadores and, or e in do Python
Exemplo com Operador in em Python
Introdução às Strings em Python
Fatiando Strings com Python
Funções das Strings no Python
Comparação de Strings em Python
Iterando Strings em Python
Introdução aos Dicionários do Python
Dicionários na Prática com Python
Funções dos Dicionários no Python
Introdução às Funções em Python
Parâmetros de Função em Python
Parâmetros default em Python
Argumento de Função Nomeado vs Posicional em Python
Retornando Valores pelas Funções em Python

Nesta aula estudaremos a instrução "while" que é, a estrutura de repetição mais simples do Python, onde definimos uma expressão e um mesmo bloco será executado enquanto a expressão definida for verdadeira

ESTRUTURA while

O Laço de Repetição while repete um bloco de instrução enquanto a condição definida em seu cabeçalho seja verdadeira.

A estrutura while talvez seja a mais simples para entendermos nesse momento. Devemos entender a mesma como sendo uma variante da Tomada de Decisão, isto é, da instrução if. Porém, ao contrário de repetir o bloco uma única vez, caso a expressão definida seja verdadeira, o bloco será executado indefinidamente, até que a expressão se torne falsa.

É super importante entender que a expressão deverá, obrigatoriamente, deixar de ser verdadeira para que a repetição seja interrompida. Do contrário, a aplicação irá congelar, isto é, a aplicação irá travar.

#coding: utf-8

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

No código acima, temos uma variável de nome conta inicializada com o valor 0. Em seguida, utilizamos a instrução while para definir uma Estrutura de Repetição e, a cada ciclo, o bloco na seguida, que contém 2 instruções, será executado. Neste bloco, somamos uma unidade à variável conta e imprimimos o valor da mesma, a cada ciclo, na saida padrão com a função print().

ESTRUTURA else

A linguagem Python define a instrução else como uma estrutura dependente da instrução while, igual estudado na instrução if. Desta forma, em Python, há 3 estruturas em que a instrução else pode ser utilizado para definirmos o bloco de instrução a ser executando quando a condição verificada deixar de ser verdadeira.

No caso, temos a instrução if, instrução while e a instrução for que será estudado na sequência.

Vamos analisar uma primeira situação.

#coding: utf-8

condicao = True
while(condicao):#<1>
    print("BLOCO while() e condicao==True")#<2>
    condicao = False#<2>
else:
    print("BLOCO ELSE e condicao==False")

A execução do código acima envia o seguinte resultado pra saida padrão:

BLOCO while() e condicao==True
BLOCO ELSE e condicao==False

O que podemos concluir é que: - #<1>: O bloco verdadeiro da estrutura while foi executado, pois, a lógica é repetir até deixar de ser verdadeiro - #<2>: a função print() é executada - #<3>: e então, a variável condicao é definida como False - #<1>: o cursor de execução volta para o cabeçalho da estrutura while, analisa a condição definida e, como o resultado é igual a False o bloco de instrução else será executado, POIS, igualmente ocorre com a instrução if, o bloco else é executado nas vezes em que a condição NÃO for verdadeira.

Agora, se por alguma razão a instrução break for invocada, o bloco else não será executado, pois, a lógica estabelecida é que o bloco else só será executado nass vezes em que a condição for False e no caso, isso não aconteceu.

A seguir, temos o mesmo exemplo, porém agora, a instrução break será invocada.

condicao = True
while(condicao):
    print("BLOCO while() e condicao==True")
    condicao = False
    break
else:
    print("BLOCO ELSE e condicao==False")

A execução do código acima envia o seguinte resultado pra saida padrão:

BLOCO while() e condicao==True

Ou seja, o bloco True da instrução while foi executado, porém, como a instrução break interrompeu a execução de todo o ciclo, o bloco else, isto é, o bloco que é executado nas vezes em que a condição não é verdadeira não foi executado.

Assim, o bloco else pode ser executado uma única vez, nos casos em que a expressão definida no cabeçalho da instrução while, deixar de ser verdadeira.

Àqueles que entenderam a Tomada de Decisão, isto é, a instrução if, deverão ter facilidade em manipular Laços de Repetição while, como também, conseguirão facilmente implementar a instrução while . Isso porque, como já dito, a instrução while funciona da mesma forma que a instrução if, e o que diferencia as mesmas é só e somente só a quantidade de vezes que o Bloco de Instrução será executado.

A seguir, temos um exemplo semelhante ao que fizemos anteriormente, porém agora, numa situação que acontece na vida real.

#coding: utf-8

conta = 0
while(conta <= 10):
    conta += 1
    print(x)
else:
    print("Valor da variável conta é: ", conta)

No código acima, o Bloco de Instrução para quando a expressão for verdadeira será executado até que o valor da variável conta seja igual a 11. Nesse momento, quando a expressão passar a ser falsa falsa, o Bloco da Instrução else será executado e o Laço de Repetição terá chego ao fim.

É importante observar que a instrução else funciona da mesma maneira àquela estudada na Tomada de Decisão .

INTERRUPÇÃO COM break

A instrução break finaliza abruptamente a execução das estruturas de repetição e assim, quando essa instrução for executada, o cursor de execução irá interromper a execução das instruções definidas pela Estrutura de Repetição e irá saltar para a linha seguinte após o Laço de Repetição.

Em outras palavras, temos que quando a instrução break for utilizada, o cursor de execução não irá passar por dentro do bloco definido pela instrução else, até porque, a instrução break encerra, imediatamente a execução da Estrutura de Repetição.

EXEMPLO FEITO EM AULA

#coding: utf-8

x = 0
print("while")
while(x<10):
    print(x)
    x=x+1;
else:
    print("else")
print("fim")


Tags curso, python, while, while loop, else, blog

Comentários

comments powered by Disqus