-2
votes
$ python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def add(x,y): return x+y
... reduce(add, range(1, 11))
  File "<stdin>", line 2
    reduce(add, range(1, 11))
         ^
SyntaxError: invalid syntax

I am new to python.

Any idea?

I am guessing reduce() isn't available in 2.6.6; is there a way to check? I only see 2.6.9 online document, which has reduce().

1

1 Answers

2
votes

You are using invalid Python syntax; it is not the reduce() call that is the problem.

In the interactive interpreter, you must close a compound block statement with a newline:

>>> def add(x,y): return x+y
... 
>>> reduce(add, range(1, 11))
55

Note the empty ... after the def add() definition.

Quoting the Interactive input section of the top-level components reference documentation:

Note that a (top-level) compound statement must be followed by a blank line in interactive mode; this is needed to help the parser detect the end of the input.