2016-04-28 117 views
0

當我做這個計算 2*(5+5/(3+3))*3 我得到Python 30(2.7)。 但似乎是2*(5+5/(3+3))*3等於35。 有人能告訴我爲什麼python給了我30而不是35的答案嗎? 我使用JavaScript,Lua和Mac Calculator進行了測試,他們向我展示了35.算法在Python中被破解了嗎?

爲什麼Python計算錯誤?

http://ideone.com/yiFJxS

+0

有趣的是,Python 3中產生35 ... – usr2564301

+1

'/'總是整數除法在Python 2. –

+2

這是因爲'5/6'產量0在Python 2和其他人評估它爲十進制輸出 – Kamehameha

回答

6

發生這種情況是因爲片段5/(3 + 3)的疏忽爲0.您需要使用它們中的任何一個作爲float 。

-2

總是假定這是一個問題的東西,你正在做的,而不是一個完整的編碼語言!

它在Python shell中適用於我。 35是預期的答案,35是我們得到的!最有可能的事情是你的目標或錯誤的類型/你錯過了 - 評論一些東西。這是從上面的代碼粘貼你的代碼。

編輯:誰更可能是錯的,個人?還是羣衆?奧卡姆剃刀。在這種情況下,我認爲他使用的是3而不是2.7,這導致了正確的假設,因爲它在3中工作。

+0

如果您始終認爲自己存在問題,那麼您將永遠無法找到該語言中的錯誤。 – erip

相關問題