> The expression n-1 + abs(n-1) is always a true value... except in the > case where n is zero.
Sorry, that's wrong of me, but you know what I mean. *grin* It zeros out when n-1 <= 0, that is, when n <= 1. ###### >>> def test(n): ... return n-1 + abs(n-1) ... >>> for x in range(-5, 5): ... print x, test(x) ... -5 0 -4 0 -3 0 -2 0 -1 0 0 0 1 0 2 2 3 4 4 6 ###### So I wasn't paying enough attention. With this, f(n) now looks something like this: ############################## def f(n): if n > 1: return f(n-1) * n or 1 else: return 0 ############################## The rest of the analysis follows from the previous email. So it's not exactly the factorial function, but it's very similar to it. It's off by a small constant. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor