Newbie to python. Very newbie question

Miki Tebeka miki.tebeka at gmail.com
Sun Apr 7 13:04:51 EDT 2013


> I am a newbie to python
Welcome! I hope you'll do great things with Python.

> and am trying to write a program that does a
> sum of squares of numbers whose squares are odd.
OK.

> For example, for x from 1 to 100, it generates 165 as an output (sum
> of 1,9,25,49,81)
I don't follow, you seem to be missing a lot of numbers. For example 3^2 = 9 which is odd as well.

> 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))

print X = Y is a syntax error. Why do you need the 2'nd part.
In general, we're moving to list/generator comperhension over map/filter.
Something like:
    print(sum(x*x for x in xrange(10**6) if (x*x)%2))

HTH,
Miki



More information about the Python-list mailing list