花了很長時間來跟蹤它基本上是歸結到我假設兩以下modulos將返回大於0的結果的錯誤:爲什麼十進制模數會給出錯誤的符號?
>>> -0.09 % 0.1
0.010000000000000009 # OK
>>> Decimal('-0.09') % Decimal('0.1')
Decimal('-0.09') # Not OK -- I expected a positive value!
這種行爲似乎違背Python docs:
模運算符總是產生一個結果與相同的符號作爲其第二個操作數(或零)
這是一個錯誤,還是我做錯了什麼?
既然你引述的醫生說「總是「,並且它沒有通過將其限制爲任何特定類型來限定該聲明,我認爲可以說文檔是錯誤的。 –