Newbie to python. Very newbie question
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Sun Apr 7 23:16:25 EDT 2013
On Sun, 07 Apr 2013 04:16:27 -0700, ReviewBoard User wrote:
> 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?
Python already has told you what the error is. You should read the error
message. If you don't understand it, you should copy and paste the full
traceback, starting with the line "Traceback", and ask for help. But
please do not expect us to *guess* what error you are seeing.
I'm now going to guess. I think you are seeing this error:
py> len(x) = len(y)
File "<stdin>", line 1
SyntaxError: can't assign to function call
In this example, I have a function call, len(x), on the left hand side of
an assignment. That is illegal syntax.
In your code, you also have a function call reduce(...) on the left hand
side of an assignment. If the error message is not clear enough, can you
suggest something that would be more understandable?
Perhaps you meant to use an equality test == instead of = assignment.
> I am new to Python and am also looking for good documentation on python
> functions. http://www.python.org/doc/ does not provide examples of usage
> of each function
No, the reference material does not generally provide examples. Some
people like that style, and some don't.
However, many pages do have extensive examples:
http://docs.python.org/2/library/string.html
You should also work through a tutorial or two. Also the "Module of the
week" website is very good:
http://pymotw.com
--
Steven
More information about the Python-list
mailing list