[pyar] [Programacion] input function

Ezequiel - ezequielchan en gmail.com
Mie Mar 7 09:38:56 ART 2012


El día 7 de marzo de 2012 08:55, sergiogomez
<sergiogomez en tostado.com.ar> escribió:
> On Wed, 7 Mar 2012 08:29:00 -0300, Ezequiel - wrote:
>>
>> El día 6 de marzo de 2012 20:27, Ricardo Araoz <ricaraoz en gmail.com>
>> escribió:
>>>
>>>
>>> Untested :
>>>
>>> while True:
>>>     try:
>>>         x = int(raw_input('Cuantas horas trabaja?')
>>>         break
>>>     except ValueError:
>>>         print 'Ojo! Debe ingresar un número. Trate de nuevo...')
>>> print x +1
>>>
>>
>> antes de usar un try podes usar x.isdigit()
>>
>> while True:
>>    x = raw_input('Cuantas horas trabaja?: ')
>>    if x.isdigit():
>>        x = int(x)
>>        break
>>
>>
>> Saludos
>
>
> Y si trabaja seis horas y media?
>
>>>> x = raw_input('Cuantas horas trabaja?: ')
>
> Cuantas horas trabaja?: 6.5
>>>>
>>>> x.isdigit()
>
> False
>
> O peor aún, y si trabaja 14.5hs?

Si, ok, pero con el int eso no funciona tampoco, lo que quería mostrar
es que muchas veces se usa un try para "controlar" y no para
"proteger" la ejecución.

Que quiero decir con eso? que podes usar un try, no cuesta nada hasta
que empiezan a existir exceptions en el medio, levantar toda la info
necesaria es mas costosa y esta bien que no debas optimizar el código
antes, pero para mi es mucho mas elegante y legible.

Si querés que eso funcione reemplaza el *isdigit* por el validador que
mas te guste, que verifique el tipo y los limites, creo que es mas
claro, por lo menos... así lo veo yo.

Saludos

>
> Saludos.
>
>
> _______________________________________________
> 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/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



-- 
Ezequiel Chan



More information about the pyar mailing list