[pyar] Clasificar un valor

Facundo Batista facundobatista en gmail.com
Mie Ago 28 13:10:44 -03 2019


El mié., 28 de ago. de 2019 a la(s) 13:03, Horacio Mayo
(oldoger en gmail.com) escribió:
>
> Gracias por las respuestas Tomas, Juan y Gustavo.
>
> Reformularé la pregunta: Hay alguna forma de hacer esto pero con menos lineas de codigo?
>
> def clasificador(n):
>     if n < 4:
>         print("Categoria Menor")
>     elif n < 8:
>         print("Categoria Media Inferior")
>     elif n < 10:
>         print("Categoria Media")
>     elif n < 12:
>         print("Categoria Media Superior")
>      else:
>          print("Categoria Mayor")
>
> Aquí son 5 categorías, pero si tuviera 20 categorías sería un codigo feo feo.

>>> from bisect import bisect
>>> categorias = [
...:  "menor",
...:  "media inferior",
...:  "media",
...:  "media superior",
...:  "mayor",
...:]
>>> limites = [4, 8, 10, 12]
>>> categorias[bisect(limites, 6)]
'media inferior'
>>> categorias[bisect(limites, 11)]
'media superior'

-- 
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org.ar/
Twitter: @facundobatista


Más información sobre la lista de distribución pyar