我讨厌承认它,但这小小的代码行给我一些麻烦。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