Capa
Seções
NOTÍCIAS

DOWNLOAD

ANÁLISES

COMPRAS

BOLETIM

WIRED NEWS

IDG NOW!

PC WORLD

AJUDA

COLUNISTAS


 digite + enter


10/02/2000
APRENDA A PROGRAMAR - CAPÍTULO 4
Luciano Ramalho MAGNET

Ocapítulo anterior terminou com uma questão no ar. Após estudarmos todas as formas de se usar o comando if, restou o desafio de usar um bloco elif para consertar um pequeno defeito no programa despdom2.py. O bug se manifesta quando os gastos de Ana e Bia são iguais. Nesse caso, o programa escreve na tela:

Bia deve pagar: R$ 0.0

Em vez de fazer a Bia escrever um cheque de zero reais, o melhor seria tratar esse caso especial. Veja como fazê-lo, usando uma construção if/elif/else (listagem 1). Se você guardou o arquivo despdom2.py da lição anterior, terá muito pouco o que digitar. Abra-o e salve com o nome de despdom3.py. O código é idêntico à versão anterior até a linha 14. Ali, você faz a primeira alteração: o else é substituído por um elif que verifica se Bia gastou menos que a média. As linhas 15 e 16 continuam como antes, mas agora elas só serão executadas se bia < media for verdadeiro. As linhas 17 e 18 são novas, e servem para tratar o caso em que nem ana < media nem bia < media, ou seja, quando não há diferença a ser paga. Agora você pode testar o programa digitando valores diferentes e depois valores iguais para as despesas de Ana e Bia.

Listagem 1

  1 # despdom3.py - Calculadora de despesas domesticas
  2
  3 print 'Balanco de despesas domesticas'
  4 ana = float(raw_input('Quanto gastou Ana? '))
  5 bia = float(raw_input('Quanto gastou Bia? '))
  6 print
  7 total = ana + bia
  8 print 'Total de gastos: R$ %s' % total
  9 media = total/2
 10 print 'Gastos por pessoa: R$ %s' % media
 11 if ana < media:
 12    diferenca = media ­ ana
 13    print 'Ana deve pagar: R$ %s' % diferenca
 14 elif bia < media:
 15    diferenca = media ­ bia
 16    print 'Bia deve pagar: R$ %s' % diferenca
 17 else:
 18    print 'Ana e Bia gastaram a mesma Quantia.'

» Somadora infinita »

Copyright © 1999 MAGNET
Introdução

Somadora infinita

Mais sobre o while

Loops (quase) infinitos

Um programa mais tolerante

Como tratar um erro de verdade

Associação de nomes a valores

Resolvendo o Orçamento da República

Nossa primeira simulação

Copyright© 1996 - 2003 Terra Networks S.A. Todos os direitos reservados. All rights reserved.