Modul (%) in python not like in C?

John Machin sjmachin at lexicon.net
Mon Sep 10 12:37:59 CEST 2007


On Sep 10, 9:16 am, Ricardo Aráoz <ricar... at gmail.com> wrote:
> John Machin wrote:
> > On Sep 10, 8:05 am, Lee Harr <miss... at frontiernet.net> wrote:
> >>>> Python will always yield a number x = m%n such that 0 <= x < n, but
> >>>> Turbo C will always yield a number such that if x = m%n -x = -m%n.  That
> >>>> is, since 111 % 10 = 1, -111 % 10 = -1.  The two values will always
> >>>> differ by n (as used above).
> >> Maybe it is an order-of-operations thing....
>
> >> -111 % 10 = -1
> >> (-111) % 10 = 9
> >> ?
>
> > and on the other hand, maybe it's not. Try to think of any language
> > where unary minus binds so loosely.
>
> Why the theoretical argument when you can TEST your assumptions?
>
> >>> -111 % 10
> 9
> >>> (-111) % 10
>
> 9

I was *assuming* nothing; I *know* what is the relative precedence of
% and unary minus in both C and Python. I was not arguing; I was
inviting Lee (as I now invite you) to think before writing.




More information about the Python-list mailing list