[issue22917] Calculating problem
New submission from heme: Hi guys I am very new to this, (just started my first lines today) so I am using a book to learn Python. BUT there is something wrong: This is my program (from the book): # This is not quite true outside of USA # and is based on my dim memories of my younger years print("Firstish Grade") print("1 + 1 =", 1 + 1) print("2 + 4 =", 2 + 4) print("5 - 2 =", 5 - 2) print() print("Thirdish Grade") print("243 - 23 =", 243 - 23) print("12 * 4 =", 12 * 4) print("12 / 3 =", 12 / 3) print("13 / 3 =", 13 // 3, "R", 13 % 3) print() print("Junior High") print("123.56 - 62.12 =", 123.56 - 62.12) print("(4 + 3) * 2 =", (4 + 3) * 2) print("4 + 3 * 2 =", 4 + 3 * 2) print("3 ** 2 =", 3 ** 2) and this is the programs answer: Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> RESTART >>> Firstish Grade 1 + 1 = 2 2 + 4 = 6 5 - 2 = 3 Thirdish Grade 243 - 23 = 220 12 * 4 = 48 12 / 3 = 4.0 13 / 3 = 4 R 1 Junior High 123.56 - 62.12 = 61.445 (4 + 3) * 2 = 14 4 + 3 * 2 = 10 3 ** 2 = 9 >>> As you can see, print("123.56 - 62.12 =", 123.56 - 62.12) is not = 61.445 so my guess is that the interpreter has a malfunction. My pc is a compaq mini 110 running (walking;-)) windows xp srv pack 3 in a std. config. brg Henning Mentz - Denmark -- messages: 231527 nosy: heme priority: normal severity: normal status: open title: Calculating problem ___ Python tracker <http://bugs.python.org/issue22917> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22917] Calculating problem
heme added the comment: Hi SilentGhost Thanx for a quick response. Sorry to hear that it is not a bug, my old GW basic interpretor from 1988 has no problem with this simple calculation (123.56 - 62.12 = 61.44) but my new Python interpreter cannot give me a correct answer. Yes, I know about precision, I have been using C for several years, but as I am interested in the Raspberry Pi I would like to use Python with it. And as I would use it as a data collector (from instruments), I need good precision and reliability. Is there anything I can do? (exept changing to another language) brg Henning SilentGhost skrev den 22/11/2014 21:33: > SilentGhost added the comment: > > Hi Henning, > > this is not a bug. This is to do with how floating point numbers represented > in computers. I'd suggest https://en.wikipedia.org/wiki/IEEE_floating_point > [1] as a starting point. Briefly, due to binary base that the computers > operate on, not every number can be stored/represented precisely. In any case > there are plenty of other information online that you can find useful, the > easiest solution is to output correctly formatted strings corresponding to > your answers. > > Good luck. > > -- > nosy: +SilentGhost > resolution: -> not a bug > status: open -> closed > > ___ > Python tracker > <http://bugs.python.org/issue22917 [2]> > ___ Links: -- [1] https://en.wikipedia.org/wiki/IEEE_floating_point [2] http://bugs.python.org/issue22917 -- ___ Python tracker <http://bugs.python.org/issue22917> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22917] Calculating problem
heme added the comment: Thank you I understand that it is not always that you see what you get (GW basic has shurely cut off the big precision, and Python doesnt, so I see the small difference. I will take care of thinking of it next time! Sorry for any inconvience. brg Henning Mark Lawrence skrev den 23/11/2014 00:23: > Mark Lawrence added the comment: > > https://docs.python.org/3/tutorial/floatingpoint.html [1] > > -- > nosy: +BreamoreBoy > > ___ > Python tracker > <http://bugs.python.org/issue22917 [2]> > ___ Links: -- [1] https://docs.python.org/3/tutorial/floatingpoint.html [2] http://bugs.python.org/issue22917 -- ___ Python tracker <http://bugs.python.org/issue22917> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com