Еще интересно, что:
>>> fab_adders = lambda a, b: (lambda x: x + off for off in xrange(a, b + 1)) >>> for adder in list(fab_adders(0, 5)): ... print adder(0) ... ... 5 5 5 5 5 5
А ответ должен быть такой:
>>> fab_adders = lambda a, b: [lambda x, off=off: x + off for off in xrange(a, b + 1)] >>> for adder in fab_adders(0, 5): ... print adder(0) ... ... 0 1 2 3 4 5
