Iterative vs. Recursive coding

John Nagle nagle at
Sat Aug 21 08:37:12 CEST 2010

On 8/20/2010 1:17 PM, John Bokma wrote:
> John Nagle<nagle at>  writes:
>>      Python does not do tail recursion, so using recursion
>> where iteration could do the job is generally a bad idea.  Scheme, on
>> the other hand, always does tail recursion where possible.
> I think you mean tail recursion optimization / elimination.
> Python does tail recursion:

    Not very well.

     def cnt(n) :
         if n > 0 :

This will work for up to cnt(998), but at cnt(999), CPython
reports "RuntimeError: maximum recursion depth exceeded."

Yes, you can increase the recursion depth, but that case
shouldn't be compiled to recursion at all.

				John Nagle

More information about the Python-list mailing list