Duda novato: for numeros decimales
Chema Cortes
pych3m4 en gmail.com
Lun Mar 9 03:16:02 CET 2009
El 2009/3/8 Manuel Enrique Gutierrez Perez
<megutierrez en estudiantes.uci.cu> escribió:
> puedes hacer un xrange tu mismo.
>
>
> def xrange(start, stop=None, step=1):
> if stop is None:
> stop = start
> start = 0
> else:
> stop = int(stop)
> start = int(start)
> step = int(step)
>
> while start < stop:
> yield start
> start += step
No deberías convertir los parámetros en enteros si se quiere usar con
números reales --que es lo que se pedía--. También se debería
considerar que el paso ("step") puede ser negativo.
Hay muchas soluciones. Considerando que el xrange() original está
pensado para ser lo más eficiente posible, parece conveniente apoyarse
en él. Una solución elegante y versátil:
def Xrange2(start, stop=None, step=1):
if step==0:
raise ValueError,"Xrange2() arg 3 must not be zero"
if stop is None:
num=int(start/step)
else:
num=int((stop-start)/step)
return (start+i*step for i in xrange(num))
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es