[pyar] Devolver 2 valores generados por función yield

Mati Barriento elmatibarriento en gmail.com
Mar Oct 7 00:07:31 ART 2014


>def make_pi(longer):
      i = -1
      q, r, t, k, m, x = 1, 0, 1, 1, 3, 3
      while i < longer:
         if 4 * q + r - t < m * t:
            i += 1
            yield m
            q, r, t, k, m, x = 10*q, 10*(r-m*t), t, k, (10*(3*q+r))//t - 10*m, x
         else:
            q, r, t, k, m, x = q*k, (2*q+r)*x, t*x, k+1,
(q*(7*k+2)+r*x)//(t*x), x+2

Termine haciendo esto

   digitsArray = []
   m = make_pi(longer*2)
   for i in range(0,longer):
      x,y = [next(m),next(m)]
      digitsArray.append(((x*10)+y))

Que devuelve
>>>[31, 41, 59, 26, 53, 58, 97]
Aunque me gustaria omitir el primer 3 de la función y que devuelva
>>>[14, 15, 92, 65, 35, 89, 79]

Muchas gracias por el aporte.

> GRACIAS!!
> 
> 
> 
> _______________________________________________
> pyar mailing list pyar en ...
> 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






More information about the pyar mailing list