On 4/4/2010 7:46 PM, monkeys paw wrote:
Why does the following fail with the Traceback?
def add(x,y): return x+y
for rrr in range(1,20):
I presume that this was 'for r...'
reduce(add, range(1, r))
and that this was indented.
Traceback (most recent call last):
File "<interactive input>", line 2, in <module>
TypeError: reduce() of empty sequence with no initial value
Just what it says. To debug this sort of this, try printing values just
before the line that fails. When r is 1, range(1,1) = []. So either
start r at 2 or add the third arg to reduce(add, range(1,r), 0).
Terry Jan Reedy
--
http://mail.python.org/mailman/listinfo/python-list