python 3.44 float addition bug?
Gary Herron
gary.herron at islandtraining.com
Fri Jun 20 21:07:58 EDT 2014
On 06/20/2014 05:57 PM, FraserL wrote:
> I think I found a strange bug in python 3.4.1,
No, this is not a bug in Python. There is a limitation of floating
point arithmetic in *all* languages, on *all* computers. Python 3 may
be the first to let you see this limitation, but it's always been there.
See https://docs.python.org/2/tutorial/floatingpoint.html for more details.
Gary Herron
>
> fresh install of
>
> https://www.python.org/ftp/python/3.4.1/python-3.4.1.amd64.msi
>
> and a fresh install of
> https://www.python.org/ftp/python/2.7.7/python-2.7.7.amd64.msi
> to compare it to.
>
> #test code
> z = 0.01
> p = 0.0
> for x, y in enumerate(range(1, 20)):
> p += z
> print(p)
> #end
>
>
> 3.4.1 output:
>
> 0.01
> 0.02
> 0.03
> 0.04
> 0.05
> 0.060000000000000005
> 0.07
> 0.08
> 0.09
> 0.09999999999999999
> 0.10999999999999999
> 0.11999999999999998
> 0.12999999999999998
> 0.13999999999999999
> 0.15
> 0.16
> 0.17
> 0.18000000000000002
> 0.19000000000000003
>
>
> 2.7.7 output:
>
> 0.01
> 0.02
> 0.03
> 0.04
> 0.05
> 0.06
> 0.07
> 0.08
> 0.09
> 0.1
> 0.11
> 0.12
> 0.13
> 0.14
> 0.15
> 0.16
> 0.17
> 0.18
> 0.19
>
>
> I'm not hugely accustomed to Python, but this seems crazy to me.
More information about the Python-list
mailing list