Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #28684

Re: Division help in python

References <CAB2OTpf290sL8kncrVADr-YD1hvUP=R424C8xd+BGGivF5AdhA@mail.gmail.com>
Date 2012-09-07 23:06 +1000
Subject Re: Division help in python
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.354.1347023611.27098.python-list@python.org> (permalink)

Show all headers | View raw


On Fri, Sep 7, 2012 at 10:53 PM, Ramyasri Dodla <ramyasri20@gmail.com> wrote:
> I am brand new to python. checking over basic stuff. I came across the
> problem while doing so. If any body aware of the problem, kindly respond me.
>
>>>> 5/10
> 0
>>>> - 5/10
> -1
>
> The second case also should yield a 'zero' but it is giving a -1

You're clearly using Python 2, because in Python 3, the / operator
will return a float instead (so these would return 0.5 and -0.5
respectively). But it's helpful to mention what Python version you're
using when you ask for help :)

The reason for this is that / (or in Python 3, //) rounds toward
negative infinity, not toward zero. This allows the modulo operator
(%) to return a positive number, while still maintaining the normal
expectation that:

(x//y)*y + (x%y) == x

for any two integers x and y.

Hope that helps!

ChrisA

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: Division help in python Chris Angelico <rosuav@gmail.com> - 2012-09-07 23:06 +1000
  Re: Division help in python garabik-news-2005-05@kassiopeia.juls.savba.sk - 2012-09-08 07:03 +0000
    Re: Division help in python Hans Mulder <hansmu@xs4all.nl> - 2012-09-08 10:09 +0200

csiph-web