Easy function, please help.
skunkworks at rikishi42.net
Thu Feb 10 00:00:48 CET 2011
On 2011-02-09, rantingrick <rantingrick at gmail.com> wrote:
> On Feb 9, 1:08 am, Paul Rudin <paul.nos... at rudin.co.uk> wrote:
>> Nanderson <mandersonrandersonander... at 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
More information about the Python-list