On 07/04/13 20:09, Dennis Lee Bieber wrote:
On Sun, 7 Apr 2013 04:16:27 -0700 (PDT), ReviewBoard User
<lalitha.viswan...@gmail.com> declaimed the following in
gmane.comp.python.general:
Hi
I am a newbie to python and am trying to write a program that does a
sum of squares of numbers whose squares are odd.
For example, for x from 1 to 100, it generates 165 as an output (sum
of 1,9,25,49,81)
Here is the code I have
print reduce(lambda x, y: x+y, filter(lambda x: x%2, map(lambda x:
x*x, xrange
(10**6)))) = sum(x*x for x in xrange(1, 10**6, 2))
I am getting a syntax error.
Can you let me know what the error is?
I can't even read that mess... three nested lambda?
Not the most efficient version but...
sum( x*x for x in range(100/2) if (x*x % 2) and (x*x < 100) )
165
The range(100/2) is a simple reduction to avoid invoking a sqrt
function... the more economical is
import math
sum( x*x for x in range(int(math.sqrt(100))) if x*x % 2)
165
I'm surprised no one has suggested:
>>> import math
>>> sum( x*x for x in range(1, int(math.sqrt(100)), 2))
Regards,
Ian F
--
http://mail.python.org/mailman/listinfo/python-list