Laurent Claessens wrote: > This is well known : > > >>> 1/2 > 0 > > This is because the division is an "integer division". > > My question is : how can I evaluate 1/2 to 0.5 ? Is there some non > integer division operator ? > Up to now I workarounded writing float(1)/2. Is there an other way ? > > My Zen of python says : > There should be one-- and preferably only one --obvious way to do it. > > and I don't believe that float(1)/2 is an "obvious way" (I'm not Dutch)
In Python 3 there is an obvious way: >>> 1/2 0.5 In Python 2 you can trigger that behaviour with the magic incantation >>> from __future__ import division >>> 1/2 0.5 In both cases the traditional integer division can be forced with >>> 1//2 0 -- http://mail.python.org/mailman/listinfo/python-list