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

Diferenças para "CategorizarNadador"

Diferenças entre as versões de 7 e 8
Revisão 7e 2007-05-18 14:40:40
Tamanho: 1478
Comentário:
Revisão 8e 2008-09-26 14:07:20
Tamanho: 1478
Editor: localhost
Comentário: converted to 1.6 markup
Nenhuma diferença encontrada!

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.