On 2011-02-09, rantingrick <rantingr...@gmail.com> wrote: > On Feb 9, 1:08�am, Paul Rudin <paul.nos...@rudin.co.uk> wrote: >> Nanderson <mandersonrandersonander...@gmail.com> writes: >> > loop would be infinite. I get what is happening in the function, and I >> > understand why this would work, but for some reason it's confusing me >> > as to how it is exiting the loop after a certain number of times. Help >> > is appreciated, thanks. >> >> It works because 0 tests false and because integer division yields >> integers... eventually you'll get something like 1/10 giving 0. > > It works because of a design flaw in the language! Specifically i am > referring to treating the integer 0 as False and any other integers as > True. There is also the empty vs non empty containers that work this > way besides numeric types.
I would have defined the flaw to be use of '/' for the integer division. Using 0 as false and any other value as true is hardly unique to python. Lots of languages have been doing this long before Python even existed. -- When in doubt, use brute force. -- Ken Thompson
-- http://mail.python.org/mailman/listinfo/python-list