[Tutor] Advice for my function, isPrime(n), please

Kent Johnson kent37 at tds.net
Sat Jul 19 05:40:40 CEST 2008


On Fri, Jul 18, 2008 at 4:45 PM, Dick Moores <rdm at rcblue.com> wrote:
> At 12:38 PM 7/18/2008, Kent Johnson wrote:
>>
>> On Fri, Jul 18, 2008 at 2:25 PM, Dick Moores <rdm at rcblue.com> wrote:
>> > At 10:03 AM 7/18/2008, Kent Johnson wrote:
>> >>
>> >> On Fri, Jul 18, 2008 at 11:32 AM, Dick Moores <rdm at rcblue.com> wrote:
>> >> >    if x == 0:
>> >> >        return False
>> >> >    else:
>> >> >        return True
>> >>
>> >> Could be just
>> >>  return x!=0
>> >
>> > I see this works, but it's Greek to me. HOW does it work? And why is it
>> > better than what I had? Is it faster? Or what?
>>
>> x != 0 is an expression. The value of that expression is either True
>> or False and is returned as the function result.
>
> Huh. Brand new to me. Thanks.
>
>>  It is better because
>> it is concise and idiomatic and has exactly the same result as yours.
>
> Is it time to quote this again?

No :-)

> In [15]: import this
> The Zen of Python, by Tim Peters
>
> Explicit is better than implicit.  <--

My way is explicit. It creates a value, either true or false, and
returns it. Nothing is hidden.

> Readability counts.  <--

Personally I think my way is more readable. It says what it means
without any fluff. IMO it is explicit, readable, concise and to the
point.

Maybe this will help you understand, it does the same thing:
  value = x != 0
  return value

Kent


More information about the Tutor mailing list