How to repeat a function n times

That should do it: def repeated(f, n): def rfun(p): return reduce(lambda x, _: f(x), xrange(n), p) return rfun def square(x): print “square(%d)” % x return x * x print repeated(square, 5)(3) output: square(3) square(9) square(81) square(6561) square(43046721) 1853020188851841 or lambda-less? def repeated(f, n): def rfun(p): acc = p for _ in xrange(n): acc = f(acc) … Read more