Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #28684
| 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) |
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 | Next — Next in thread | Find similar | Unroll 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