[pyar] Clasificar un valor

Angel Java Lopez ajlopez2000 en gmail.com
Mie Ago 28 13:27:31 -03 2019


Ni idea de como hacerlo en Python, pero, si los numeros a clasificar fueran
entre 0 e infinito, haria:

- Tomar el entero de ese numero m, es decir n = entero(m)
- Con ese entero, entrar en una tabla categorias: categorias[n]

tener precalculado

categorias[0] == 'categoriaA'
categorias[1] == 'categoriaA'
categorias[2] == 'categoriaA'
categorias[3] == 'categoriaA'
categorias[4] == 'categoriaA'
categorias[5] == 'categoriaB'
etc

Si categorias[n] esta vacio, seria 'categoriaUltima'

No se si vale la pena ese trabajo, pero serviria si se quiere hacer una
determinacion de categoria quizas mas rapida, a costa de un calculo inicial

Y si, siempre lo haria con TDD :-)

Nos leemos!

Angel "Java" Lopez
@ajlopez

On Wed, Aug 28, 2019 at 1:14 PM Juan Carizza <juan.carizza en gmail.com> wrote:

> La solución de facu es mas acertada porque *bisect* mantiene la lista
> ordenada (cosa que en mi ejemplo eso tenes que ordenarlo) a parte de ser
> mas elegante y no tener que recorrer todos los items de la lista para
> buscar el minimo.
>
> El mié., 28 de ago. de 2019 a la(s) 13:11, Facundo Batista (
> facundobatista en gmail.com) escribió:
>
>> 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
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190828/4e181bcb/attachment-0001.html>


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