[Tutor] endless loop

Emile van Sebille emile at fenx.com
Mon Jul 5 18:34:45 CEST 2010


On 7/5/2010 8:31 AM prasad rao said...
> hi
>    I am trying problem 6 in projecteuler.org.
> What is the smallest positive number that is evenly divisible by all
> of the numbers from 1 to 20?
>
>
> def rr(z,m=1):
>            q=lambda n:m%n==0
>            s=lambda False : 0
>            a=filter(s,map(q,range(1,z)))
>            if not a:
>                m+=1
>                rr(z,m)
>            else:return m
>
> This code is going into endless loop.
>

You don't show us how you're invoking this function, but it seems to me 
the result of passing a terminally false function result (s is always 
false) into filter will always result in [] (so a is always false) and 
will thereby cause the else clause never to be reached.

Emile




More information about the Tutor mailing list