Ver Feed RSS

root@blog:/# chmod o+r *

[Curso de Python] A estrutura While

Avalie este Post de Blog

Antes de prosseguir leia os artigos anteriores aqui



Estamos avançando no conteúdo!!! Agora vamos ver algo fundamental para muitos conceitos em Python: O while.

A Estrutura While



A estrutura while (enquanto) ou loop while, como também é chamado, tem como objetivo repetir a execução de um bloco de código enquanto uma certa condição é valida. A sua estrutura é a seguinta:

Código :
while condição:
    #Bloco de código
O bloco de código dentro do while vai ser executado múltiplas vezes, de acordo com o "valor" da condição. Enquanto a condição for True, o bloco será executado, quando a condição for False, o bloco não será mais executado. Vamos a um pequeno exemplo:
Código :
contador = 3
while contador != 0:
    print "%i..."%(contador)
    contador = contador - 1
print 'Boom!!!'
Executando temos a seguinte saída:
Código :
3...
2...
1...
Boom!
Nesse pequeno exemplo fizemos uma contagem regressiva de 3 até 0 (Boom!!!). Vamos analisar como o interpretador Python executou esse trecho de código:

  1. Primeiro criou a variável contador e atribuiu o valor 3 a ele;
  2. Entrou no loop while;
  3. Verificou que o contador (agora com o valor 3) era diferente de 0;
  4. Imprimiu "3..."
  5. Decrementou o contador por 1;
  6. Chegou ao fim do bloco, agora irá testar novamente a condição de contador !=0;
  7. Verificou que o contador (agora com o valor 2) era diferente de 0;
  8. Imprimiu "2..."
  9. Decrementou o contador por 1;
  10. Chegou ao fim do bloco, agora irá testar novamente a condição de contador !=0;
  11. Verificou que o contador (agora com o valor 1) era diferente de 0;
  12. Imprimiu "1..."
  13. Decrementou o contador por 1;
  14. Chegou ao fim do bloco, agora irá testar novamente a condição de contador !=0;
  15. Verificou que o contador (agora com o valor 0) é igual a 0, logo não satisfaz a condição;
  16. Saiu do loop while"
  17. Imprime 'Boom!!!';


O while tem 2 caracterícas que devem ser ressaltadas:

  • Ele verifica a condição ao entrar no loop;
  • Quando a condição não é satisfeita ele não executa o loop uma última vez;


Esse código abaixo mostra que ele analisa a condição antes de entrar no loop:
Código :
contador = 0
while contador != 0:
    print "%i..."%(contador)
    contador = contador - 1
print 'Boom!!!'
Executando esse código temos a seguinte saída:
Código :
Boom!!!
As condições que podem ser utilizadas dentro do while são todas aquelas que eu já expliquei anteriormente aqui.

Para quem ainda acompanha meus posts deixo alguns exercícios:

  1. Faça um programa que calcule a multiplicação de dois números utilizando apenas o operador de soma. Dica: A multiplicação uma sequência de somas: 3*5 é equivalente a 5+5+5 (três vezes o cinco) ou 3+3+3+3+3 (cinco vezes o três).
  2. Faça um programa que receba vários números e ao receber o número 0 informe quantos números foram informados.


Até mais...

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

Categorias
Python , Artigos , Artigos , Cursos , Curso de Python

Comentários

Página 1 de 6 12345 ... ÚltimoÚltimo
  1. Avatar de Não Registrado
    No último código, a primeira instrução deve ser 'contador = 0'
  2. Avatar de Magnun
    Obrigado, já corrigi!! Mal do ctrl+c ctrl+v, sabe como é, né?!
  3. Avatar de lord4rk
    Ola Magnun

    Mais uma vez obrigado por compartilhar seus conhecimentos!!

    ex 2:
    Código :
    num, count = 0, 0
    while count == 0:
        entrada = int(raw_input('Digite um valor e 0 para terminar: '))
        if entrada == 0:
            count += 1
            num += 1
            print 'foram digitados %i valores' % num
     
        else:
            num += 1

    no ex 1 eu nao fiz , ainda nao tenho ideia!! -.-

    []'s
    Jr
  4. Avatar de Magnun
    Olá lord4rk,

    Seu código está muito bom cara, funciona perfeitamente!! Quanto a questão número 1, vou te dar uma dica: receba 2 números, por exemplo x e n. Some o x "n vezes". Como somar ele?? Um loop que se repita n vezes... Dê uma olhada no exemplo da contagem regressiva que eu postei...

    Ah, obrigado por comentar!!!
  5. Avatar de alanteixeira
    numero1=int(raw_input('Entre com o valor 1: '))
    numero2=int(raw_input('Entre com o valor 2: '))
    resultado = 0


    while numero2 != 0:
    ....resultado = resultado + numero1
    ....numero2 = numero2 - 1
    print 'O resultado de %(numero1)d X %(numero2)d e: %(resultado)d' %vars()
    Atualizado 26-06-2010 em 02:12 por alanteixeira
Página 1 de 6 12345 ... ÚltimoÚltimo

+ Enviar Comentário




Visite: BR-Linux ·  VivaOLinux ·  Dicas-L