$ 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\"
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.