Python 算术坏了?

Arithmetics is broken in Python?

当我做这个计算的时候 2*(5+5/(3+3))*3 我在 Python (2.7) 中得到 30。 但是看起来 2*(5+5/(3+3))*3 等于 35。 谁能告诉我为什么 python 给我的答案是 30 而不是 35? 我已经用 JavaScript、Lua 和 Mac 计算器进行了测试,他们告诉我 35.

为什么Python计算错了?

http://ideone.com/yiFJxS

始终假设这是您正在做的事情的问题,而不是整个编码语言的问题!

它在 Python shell 对我来说很好用。 35 是预期的答案,而 35 是我们得到的!最有可能的是你这边的某些东西或输入错误/你错过了一些评论。这是从上面复制粘贴您的代码。

edit:谁更有可能是错的,一个人?还是群众?奥卡姆剃刀。在这种情况下,我假设他使用的是 3 而不是 2.7,这导致了正确的假设,因为它在 3 中确实有效。

发生这种情况是因为 5/(3 + 3) 的计算结果为 0。您需要将它们中的任何一个用作浮点数。