[pyar] Resumen de pyar, Vol 114, Envío 28

Nicolas Sandoval nicolassandovalunm en gmail.com
Mie Ago 28 13:59:16 -03 2019


Por ahí esto te sirve de base después lo adaptas

valor = 6
dicc = {4:'categoria x', 8: 'categoria z'}
for key, value in dicc.items():
    if valor < key and valor > key - 4:
        print (value)


El mié., 28 de ago. de 2019 13:28, <pyar-request en python.org.ar> escribió:

> Envíe los mensajes para la lista pyar a
>         pyar en python.org.ar
>
> Para subscribirse o anular su subscripción a través de la WEB
>         http://listas.python.org.ar/listinfo/pyar
>
> O por correo electrónico, enviando un mensaje con el texto "help" en
> el asunto (subject) o en el cuerpo a:
>         pyar-request en python.org.ar
>
> Puede contactar con el responsable de la lista escribiendo a:
>         pyar-owner en python.org.ar
>
> Si responde a algún contenido de este mensaje, por favor, edite la
> linea del asunto (subject) para que el texto sea mas especifico que:
> "Re: Contents of pyar digest...". Además, por favor, incluya en la
> respuesta sólo aquellas partes del mensaje a las que está
> respondiendo.
>
>
> Asuntos del día:
>
>    1. Re: Clasificar un valor (Horacio Mayo)
>    2. Re: Clasificar un valor (Juan Carizza)
>    3. Re: Clasificar un valor (Facundo Batista)
>    4. Re: Clasificar un valor (Juan Carizza)
>    5. Re: Clasificar un valor (Angel Java Lopez)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 28 Aug 2019 13:02:52 -0300
> From: Horacio Mayo <oldoger en gmail.com>
> To: pyar en python.org.ar
> Subject: Re: [pyar] Clasificar un valor
> Message-ID:
>         <CAJF8p_76vqgQE8qvL4u06_fpb_zru6mG4aA3_=
> uxKxKa9ujHZw en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> 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.
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> http://listas.python.org.ar/pipermail/pyar/attachments/20190828/a6b07a74/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 2
> Date: Wed, 28 Aug 2019 13:09:40 -0300
> From: Juan Carizza <juan.carizza en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Clasificar un valor
> Message-ID:
>         <CANMs9gYrpHL3X0M2LqHxK5V4H=
> wQY+3kjO-mVfRgsPurekV7hg en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Asi medio rapidongo: http://linkode.org/#dKPmAE3OiEet7SAE00J3O6
>
> Puede optimizarse..pero quiza seria overkill.
>
> Saludos
>
> 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.
> > _______________________________________________
> > 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/6d1fdd08/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Wed, 28 Aug 2019 13:10:44 -0300
> From: Facundo Batista <facundobatista en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Clasificar un valor
> Message-ID:
>         <
> CAM09pzTj35-sbUneSjnG56r0SUkwbj7ayj02h9oCr9dwbrZpCg en mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> 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
>
>
> ------------------------------
>
> Message: 4
> Date: Wed, 28 Aug 2019 13:14:19 -0300
> From: Juan Carizza <juan.carizza en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Clasificar un valor
> Message-ID:
>         <CANMs9gY8bxi=
> 4JsMvzBtfgiLx6T2p0SW5zEyre7XQmHA3QmcDQ en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> 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
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> http://listas.python.org.ar/pipermail/pyar/attachments/20190828/a13a87a1/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 5
> Date: Wed, 28 Aug 2019 13:27:31 -0300
> From: Angel Java Lopez <ajlopez2000 en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Clasificar un valor
> Message-ID:
>         <CAMs+DqL0-3=
> wmuFw_3VgzRW_6_RemU_PRUL-SZhaFb2hUQBT+Q en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> 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.html
> >
>
> ------------------------------
>
> Subject: Pié de página del digest
>
> _______________________________________________
> pyar mailing list
> pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
>
> ------------------------------
>
> Fin de Resumen de pyar, Vol 114, Envío 28
> ******************************************
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190828/648c359a/attachment-0001.html>


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