associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "CategorizarNadador"

Diferenças entre as versões de 1 e 7 (6 versões de distância)
Revisão 1e 2004-04-21 17:47:58
Tamanho: 1818
Editor: ba019247
Comentário: primeira mudança
Revisão 7e 2007-05-18 14:40:40
Tamanho: 1478
Comentário:
Deleções são marcadas assim. Adições são marcadas assim.
Linha 1: Linha 1:
#pragma section-numbers off
= Receita: CategorizarNadador =
Elabore um algoritmo que classifique um nadador pela idade nas seguintes categorias:
Linha 4: Linha 3:
Simples codigo para resolver a questão:


'''
12. Elabore um algoritmo que dada a idade de um nadador classifica-o em uma das seguintes categorias:
  

infantil A = 5 - 7 anos

infantil B = 8-10 anos


juvenil A = 11-13 anos


juvenil B = 14-17 anos


adulto = maiores de 18 anos
'''
 * infantil A = 5 - 7 anos
 * infantil B = 8-10 anos
 * juvenil A = 11-13 anos
 * juvenil B = 14-17 anos
 * adulto = maiores de 18 anos
Linha 40: Linha 24:
if idade_nadador >= 5 and idade_nadador <= 7: if idade_nadador <= 4:
    print 'indefinido.'

elif
5 <= idade_nadador <= 7:
Linha 43: Linha 30:
elif idade_nadador >= 8 and idade_nadador <= 10: elif 8 <= idade_nadador <= 10:
Linha 46: Linha 33:
elif idade_nadador >= 11 and idade_nadador <= 13: elif 11 <= idade_nadador <= 13:
Linha 49: Linha 36:
elif idade_nadador >= 14 and idade_nadador <=17: elif 14 <= idade_nadador <=17:
Linha 52: Linha 39:
elif idade_nadador <= 4:
    print 'indefinido.'
Linha 60: Linha 44:
== Exemplo de uso ==
== Usando o módulo bisect ==
Linha 64: Linha 49:
# Exercicio 12 da lista
# Definir categoria do nadador
Linha 67: Linha 50:
#pega a idade do nadador
# comentei a linha abaixo pra exemplificar o uso
#idade_nadador = input('Entre com a idade do nadador: ')
idade_nadador = 7 # defini a variavel idade_nadador..
 
# Ifs para verificar entre qual faixa de idade se encontra o nadador
if idade_nadador >= 5 and idade_nadador <= 7:
    print 'infantil A'
    
elif idade_nadador >= 8 and idade_nadador <= 10:
    print 'infantil B'
    
elif idade_nadador >= 11 and idade_nadador <= 13:
    print 'Juvenil A'
    
elif idade_nadador >= 14 and idade_nadador <=17:
    print 'juvenil B'
    
elif idade_nadador <= 4:
    print 'indefinido.'
from bisect import bisect
Linha 88: Linha 52:
else:
    print 'adulto'
    
categs = [('indefinido' , 5),
          ('infantil A', 8),
          ('infantil B', 11),
          ('juvenil A', 14),
          ('juvenil B', 18),
          ('adulto',200),
          ]

idade_nadador = input('Entre com a idade do nadador: ')

valores = [i[1] for i in categs]
posicao = bisect(valores, int(idade_nadador))

print categs[posicao][0]
Linha 93: Linha 69:
Volta para CookBook. Mais sobre o módulo bisect em http://python.org/doc/2.5/lib/module-bisect.html

-- RicardoNiederberger
Linha 96: Linha 74:
Ruivaldo Neto
Volta para CookBook.

Elabore um algoritmo que classifique um nadador pela idade nas seguintes categorias:

  • infantil A = 5 - 7 anos
  • infantil B = 8-10 anos
  • juvenil A = 11-13 anos
  • juvenil B = 14-17 anos
  • adulto = maiores de 18 anos

Muito simples porém faz bom uso do if, elif e else.

Abraços.

Código

   1 # Exercicio 12 da lista
   2 # Definir categoria do nadador
   3 
   4 #pega a idade do nadador
   5 idade_nadador = input('Entre com a idade do nadador: ')
   6 
   7 # Ifs para verificar entre qual faixa de idade se encontra o nadador
   8 if idade_nadador <= 4:
   9     print 'indefinido.'
  10 
  11 elif 5 <= idade_nadador <= 7:
  12     print 'infantil A'
  13     
  14 elif 8 <= idade_nadador <= 10:
  15     print 'infantil B'
  16     
  17 elif 11 <= idade_nadador <= 13:
  18     print 'Juvenil A'
  19     
  20 elif 14 <= idade_nadador <=17:
  21     print 'juvenil B'
  22     
  23 else:
  24     print 'adulto'
  25     

Usando o módulo bisect

   1 from bisect import bisect
   2 
   3 categs = [('indefinido' , 5),
   4           ('infantil A', 8),
   5           ('infantil B', 11),
   6           ('juvenil A', 14),
   7           ('juvenil B', 18),
   8           ('adulto',200),
   9           ]
  10 
  11 idade_nadador = input('Entre com a idade do nadador: ')
  12 
  13 valores = [i[1] for i in categs]
  14 posicao = bisect(valores, int(idade_nadador))
  15 
  16 print categs[posicao][0]

Mais sobre o módulo bisect em http://python.org/doc/2.5/lib/module-bisect.html

-- RicardoNiederberger


Volta para CookBook.