我討厭承認它,但這小小的代碼行給我一些麻煩。Python代數分數
print 15 + (-1*(((yearnum + yearnum/4 - yearnum/100 + yearnum/400) + 11) % 7)) % 7
爲什麼這不等於?
print 15 + (-1*(((497 * yearnum/400) + 11) % 7)) % 7
也許我已經完全忘記了分數是如何工作的?
我討厭承認它,但這小小的代碼行給我一些麻煩。Python代數分數
print 15 + (-1*(((yearnum + yearnum/4 - yearnum/100 + yearnum/400) + 11) % 7)) % 7
爲什麼這不等於?
print 15 + (-1*(((497 * yearnum/400) + 11) % 7)) % 7
也許我已經完全忘記了分數是如何工作的?
(yearnum + yearnum/4 - yearnum/100 + yearnum/400)
不等於(497 * yearnum/400) + 11) % 7)
由於整數除法(Python樓層的整數除法的結果)。
談論忘記基礎知識。你100%正確。感謝您指出了這一點。隨着這一點,我呼籲它退出一天。 –
你可以通過在每個數字後加小數點來避免這個問題,從而迫使python使用浮點數而不是整數。 1/4 = 0,但是1./4.=0.25 – abought
您是否可以添加如何進行錯誤簡化的步驟?這可能是操作順序,或者是錯誤計算的分數。看到這些步驟,從一開始就比簡化更容易發現(閱讀:我很懶:p)。 – Corbin
Python 2.x或3? – BobS
'yearnum(1 + 1/4-1/100 + 1/400)'被正確地簡化爲'yearnum(497/400)',其中數學有關 - 我認爲 – epsilonhalbe