pythonize this!
Alessandro [AkiRoss] Re
akirosspower at gmail.com
Wed Jun 16 06:35:38 EDT 2010
On Jun 15, 1:49 pm, superpollo <ute... at esempio.net> wrote:
> goal (from e.c.m.): evaluate
> 1^2+2^2+3^2-4^2-5^2+6^2+7^2+8^2-9^2-10^2+...-2010^2, where each three
> consecutive + must be followed by two - (^ meaning ** in this context)
My functional approach :)
from operator import add
from functools import reduce
def square(l):
return (v**2 for v in l)
def sign(l, s):
i = 0
for v in l:
yield s[i % len(s)] * v
i += 1
print reduce(add, sign(square(xrange(1, 2011)), [1, 1, 1, -1, -1]))
(536926141)
~Aki
More information about the Python-list
mailing list