2332
Comentário: como resolver o mesmo problema usando o módulo bisect
|
← Revisão 8e 2008-09-26 14:07:20 ⇥
1478
converted to 1.6 markup
|
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 == {{{ #!python # Exercicio 12 da lista # Definir categoria do nadador #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.' else: print 'adulto' }}} ---- Ruivaldo Neto |
|
Linha 100: | Linha 49: |
from bisect import bisect |
|
Linha 108: | Linha 60: |
from bisect import bisect | |
Linha 110: | Linha 61: |
Linha 112: | Linha 64: |
Linha 113: | Linha 66: |
Linha 114: | Linha 68: |
Mais sobre o módulo bisect em http://pydoc.org/2.3/bisect.html | Mais sobre o módulo bisect em http://python.org/doc/2.5/lib/module-bisect.html |
Linha 117: | Linha 72: |
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
Volta para CookBook.